Tengo un archivo .ps1 en el que quiero definir funciones personalizadas.
Imagine que el archivo se llama MyFunctions.ps1, y el contenido es el siguiente:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
Para ejecutar este script y registrar teóricamente la función A1, navego a la carpeta en la que reside el archivo .ps1 y ejecuto el archivo:
.\MyFunctions.ps1
Esto produce:
Installing functions
Done
Sin embargo, cuando intento llamar a A1, simplemente recibo el error que indica que no hay comando / función con ese nombre:
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
Debo entender mal algunos conceptos de PowerShell. ¿No puedo definir funciones en archivos de script?
Tenga en cuenta que ya he establecido mi política de ejecución en 'RemoteSigned'. Y sé ejecutar archivos .ps1 usando un punto delante del nombre del archivo:. \ MyFile.ps1