As funções do My PowerShell não parecem estar registradas

1

Eu tenho um script ps1 no qual eu defino 2 funções como:

function Invoke-Sql([string]$query) {
  Invoke-Sqlcmd -ServerInstance $Server -Database $DB -User $User -Password $Password -Query $query
}

function Get-Queued {
  Invoke-Sql "Select * From Comment where AwaitsModeration = 1"
}

Em seguida, chamo o arquivo ps1 digitando-o (está em uma pasta no caminho e o preenchimento automático funciona)

No entanto, não consigo começar a usar as funções. Estou confuso, porque quando eu copiar / colar as funções no console, tudo está bem e eles funcionam. Eu também tenho uma função definida no meu perfil e funciona. Onde estou pensando errado, por que não funciona o que estou tentando fazer?

    
por Frank 21.03.2010 / 18:57

2 respostas

4

Para que as funções estejam disponíveis, você precisa "pontuar a origem" do script. "Dot Sourcing" executa o script no escopo atual.

Para "pontuar fonte", um script você coloca um ponto, depois um espaço e, em seguida, o caminho completo ou relativo para o script.

por exemplo

. ./myscript.ps1
    
por 21.03.2010 / 20:20
0

Confira esta postagem sobre como executar scripts do PowerShell na linha de comando.

    
por 21.03.2010 / 19:29