Baixe o app para aproveitar ainda mais
Prévia do material em texto
02 Usando PROFILES no PowerShell Na aula anterior, combinamos de renomear outros dois arquivos e colocá-los naquela convenção [nome]migrando[nomeDeQuemFez.bat] para indicar que nós que estamos realizando a migração. Abriremos o PowerShell novamente, entraremos no diretório de "scripts\fileUtils" com o comando cd, e ao executar o comando dir, vemos que ainda nos resta renomear os arquivos sha384.bat e SHA512.bat. A nossa tarefa está bem mais fácil, pois criamos um alias para o comando rename-item: PS C:\scripts\fileUtils> rename sha384.bat sha384_migrando_guilherme.bat Como podemos ver, ao tentar executar esse comando, tivemos um erro, nos informando de que o alias rename não existe. Que coisa estranha, não é mesmo? Isso aconteceu porque nós encerramos a sessão no PowerShell, e então nós perdemos os alias que criamos. Quer dizer que sempre precisaremos criar novamente os alias? Não! Esse seria um trabalho árduo, que é muito diferente da nossa intenção inicial. E se nós pudéssemos executar todos esses comandos sempre que abrirmos o PowerShell e de forma automática? Não seria perfeito? Este seria o perfil de execução do PowerShell que já foi desenvolvido para ele. O PowerShell possui vários profiles, que são scripts que são executados sempre antes de se iniciar uma sessão no PowerShell. Temos uma variável pública chamada $profile. Se dermos o "Enter", será mostrado o profile corrente da nossa sessão, que é um script que se encontra dentro de uma pasta em "Documents" chamada de "WindowsPowerShell". Os scripts PowerShell possuem a extensão .ps1, ao contrário do .bat, uma extensão de arquivo do prompt de comando clássico. Ao acessarmos a pasta "WindowsPowerShell", vemos que não há nada nela, ou seja, não temos o perfil sendo executado. Vamos criar esse aquivo nessa pasta. Caso você não encontre essa pasta em sua máquina, você pode estar criando dentro da pasta "Documents", que irá funcionar da mesma forma! Então, se queremos criar um novo item, e já sabemos que para renomear um arquivo, usamos o cmdlet rename-item, então com new-item muito possivelmente criaremos um novo item. Ao criar esse novo item, não será necessário passar como parâmetro o endereço da pasta "WindowsPowerShell", pois estaremos repetindo o conteúdo da variável $profile. PS C:\Users\Alura> new-item $PROFILE O que obtemos é: Diretório: C:\Users\Alura\Documents\WindowsPowerShell Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 19/09/2017 20:26 0 Microsoft.PowerShell_profile.ps1 Podemos ir até a pasta, e veremos que agora existe um novo arquivo lá Microsoft.PowerShell_profile.ps1. Abriremos esse arquivo com o "Bloco de Notas". Executaremos nele os comandos que gostaríamos que estivessem sempre em todas as sessões do PowerShell. No caso, queremos o cmdlet rename-item com um alias para rename. O cmdlet get-childitem com um alias para d. Dentro desse arquivo, digitaremos: new-alias rename rename-item new-alias d get-childitem Podemos até pedir para que ele exiba uma mensagem para nós assim que o PowerShell for aberto. new-alias rename rename-item new-alias d get-childitem echo "Oi, Guilherme" Salvaremos esse arquivo, fecharemos o PowerShell e iremos abri-lo novamente. Ocorreu um erro, dizendo que o arquivo que acabamos de criar não pode ser carregado por que a execução de scripts foi desabilitada nesse sistema. Vamos descobrir o que isso significa? 02 Usando PROFILES no PowerShell
Compartilhar