Onde devem ser colocadas as definições de função do PowerShell para que elas sejam originadas automaticamente?

1

Dada uma função simples do PowerShell:

function gpg {
    C:\Program files\GNU\GnuPG\gpgcmd.exe $args
}

Onde devo colocar essa definição de função para tornar gpg disponível como um comando do PowerShell?

    
por user123456 22.02.2017 / 14:54

2 respostas

1

Coloque-o dentro do seu Perfil do PowerShell

O perfil sempre é carregado quando o PowerShell é iniciado, exceto quando você chama o PowerShell com o Parâmetro -NoProfile , que (pelo menos na minha rede) raramente é o caso. Assim, sempre que o PowerShell for iniciado, você poderá usar suas funções imediatamente.

Se você quiser criar um perfil do PowerShell para mais de um computador, usaria o GPO para implantar o perfil de um caminho de origem nos seus computadores de destino.

Tenha em mente que existem perfis individuais para o PowerShell e o PowerShell_ISE

    
por 22.02.2017 / 16:14
1

Como o @SimonS mencionou uma opção é que você pode colocá-la no seu perfil. E no seu caso de uma função simples para ajudar a executar um único comando mais fácil o perfil provavelmente é a escolha certa. Mas eu gostaria de mencionar outra opção.

Se você estiver executando uma versão do powershell maior que 3.0 em seus sistemas, outra opção é colocar sua função ou funções em uma Módulo do PowerShell . Os módulos no caminho do seu módulo serão carregados automaticamente e todas as funções exportadas estarão disponíveis. O módulo que você criou precisa estar no caminho do módulo ( $env:psmodulePath ), um bom local para módulos de todo o sistema é C:\Program Files\WindowsPowerShell\Modules .

Você realmente não quer colocar muita coisa em seu perfil. Primeiro seu perfil é carregado quando você inicia o Powershell, e quanto mais coisas você definir, haverá algum impacto nas cargas de Powershell de velocidade. Os perfis não são carregados automaticamente ao usar a comunicação remota do PS, mas os módulos que estão no caminho no sistema de destino são carregados automaticamente.

    
por 22.02.2017 / 19:41

Tags