In PowerShell, comment define a function dans a fichier et call it depuis the PowerShell commandeline?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

In PowerShell, comment define a function dans a fichier et call it depuis the PowerShell commandeline?

Message par ForumBot »

I have a .ps1 file in which I want to define custom functions.


Imagine the file is called MyFunctions.ps1, and the content is as follows:


Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"


To run this script and theoretically register the A1 function, I navigate to the folder in which the .ps1 file resides and run the file:


.\MyFunctions.ps1


This outputs:


Installing functions
Done


Yet, when I try to call A1, I simply get the error stating that there is no command/function by that name:


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


I must misunderstand some PowerShell concepts. Can I not define functions in script files?


Note that I have already set my execution policy to ‘RemoteSigned’. And I know to run .ps1 files using a dot in front of the file name: .\myFile.ps1




Source : Stack Overflow

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: In PowerShell, comment define a function dans a fichier et call it depuis the PowerShell commandeline?

Message par ayi »

Try this on the PowerShell command line:


. .\MyFunctions.ps1
A1


The dot operator is used for script include, aka "dot-sourcing" (or "dot source notation")

Répondre

Revenir à « PowerShell »