Özel işlevleri tanımlamak istediğim bir .ps1 dosyası var.
Dosyanın MyFunctions.ps1 olarak adlandırıldığını ve içeriğin aşağıdaki gibi olduğunu düşünün:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Bu komut dosyasını çalıştırmak ve A1 işlevini teorik olarak kaydetmek için, .ps1 dosyasının bulunduğu klasöre gidip dosyayı çalıştırın:
.\MyFunctions.ps1
Bu çıktılar:
Installing functions
Done
Yine de, A1'i aramaya çalıştığımda, bu adla komut / işlev olmadığını belirten hatayı alıyorum:
The term 'A1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:3
+ A1 <<<<
+ CategoryInfo : ObjectNotFound: (A1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Bazı PowerShell kavramlarını yanlış anlamam gerekiyor. Komut dosyalarındaki işlevleri tanımlayamıyorum?
Yürütme ilkemi zaten 'RemoteSigned' olarak ayarladığımı unutmayın . Ve dosya adının önünde bir nokta kullanarak .ps1 dosyalarını çalıştırmayı biliyorum:. \ MyFile.ps1