ฉันมีไฟล์. ps1 ซึ่งฉันต้องการกำหนดฟังก์ชั่นที่กำหนดเอง
ลองนึกภาพไฟล์ที่ชื่อว่า MyFunctions.ps1 และเนื้อหาดังต่อไปนี้:
Write-Host "Installing functions"
function A1
{
Write-Host "A1 is running!"
}
Write-Host "Done"
ในการรันสคริปต์นี้และลงทะเบียนฟังก์ชั่น A1 โดยทางทฤษฎีฉันไปที่โฟลเดอร์ที่ไฟล์. ps1 อยู่และเรียกใช้ไฟล์:
.\MyFunctions.ps1
ผลลัพธ์นี้:
Installing functions
Done
แต่เมื่อฉันพยายามโทร A1 ฉันก็พบข้อผิดพลาดที่ระบุว่าไม่มีคำสั่ง / ฟังก์ชั่นตามชื่อ:
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
ฉันต้องเข้าใจแนวคิด PowerShell บางอย่าง ฉันไม่สามารถกำหนดฟังก์ชั่นในไฟล์สคริปต์ได้หรือไม่?
โปรดทราบว่าฉันได้ตั้งนโยบายการปฏิบัติของฉันเป็น 'RemoteSigned' แล้ว และฉันรู้ว่ารันไฟล์. ps1 โดยใช้จุดที่อยู่ด้านหน้าชื่อไฟล์:. \ myFile.ps1