รับฟังก์ชั่น PowerShell อย่างง่าย ๆ :
function gpg {
C:\Program files\GNU\GnuPG\gpgcmd.exe $args
}
ฉันควรนิยามฟังก์ชั่นนี้ไว้ที่ไหน gpg
พร้อมใช้งานในคำสั่ง PowerShell หรือไม่
รับฟังก์ชั่น PowerShell อย่างง่าย ๆ :
function gpg {
C:\Program files\GNU\GnuPG\gpgcmd.exe $args
}
ฉันควรนิยามฟังก์ชั่นนี้ไว้ที่ไหน gpg
พร้อมใช้งานในคำสั่ง PowerShell หรือไม่
คำตอบ:
ใส่ไว้ในของคุณ โปรไฟล์ PowerShell
ส่วนกำหนดค่าจะถูกโหลดเสมอเมื่อ PowerShell เริ่มต้นยกเว้นเมื่อคุณเรียกใช้ PowerShell -NoProfile
พารามิเตอร์ซึ่งเป็นอย่างน้อยในเครือข่ายของฉัน ดังนั้นเมื่อใดก็ตามที่ PowerShell เริ่มต้นคุณสามารถใช้ฟังก์ชันได้ทันที
หากคุณต้องการสร้างโปรไฟล์ PowerShell สำหรับคอมพิวเตอร์มากกว่าหนึ่งเครื่องฉันจะใช้ GPO เพื่อปรับใช้โปรไฟล์จากเส้นทางต้นทางไปยังคอมพิวเตอร์ปลายทาง
โปรดทราบว่ามีโปรไฟล์แต่ละโปรไฟล์สำหรับ PowerShell และ PowerShell_ISE
ดังที่ @SimonS กล่าวถึงตัวเลือกหนึ่งคือคุณสามารถใส่ไว้ในโปรไฟล์ของคุณ และในกรณีของฟังก์ชั่นง่าย ๆ ที่จะช่วยให้การรันคำสั่งเดียวง่ายขึ้นโปรไฟล์อาจเป็นตัวเลือกที่เหมาะสม แต่ฉันต้องการพูดถึงตัวเลือกอื่น
หากคุณใช้งานรุ่น PowerShell มากกว่า 3.0 บนระบบของคุณแล้วอีกทางเลือกหนึ่งคือการทำให้ฟังก์ชั่นของคุณหรือฟังก์ชั่นใน โมดูล PowerShell . โมดูลภายในพา ธ โมดูลของคุณจะเป็น โหลดอัตโนมัติ และฟังก์ชั่นที่ส่งออกใด ๆ จะสามารถใช้ได้ โมดูลที่คุณสร้างจะต้องอยู่ในเส้นทางโมดูล ( $env:psmodulePath
) ตำแหน่งที่ดีสำหรับโมดูลระบบกว้างคือ C:\Program Files\WindowsPowerShell\Modules
.
คุณไม่อยากจะใส่อะไรมากเกินไปในโปรไฟล์ของคุณ ก่อนอื่นให้โหลดโปรไฟล์ของคุณเมื่อคุณเริ่ม Powershell และสิ่งอื่น ๆ ที่คุณกำหนดไว้จะมีผลต่อความเร็วในการโหลด Powershell ส่วนกำหนดค่าจะไม่โหลดโดยอัตโนมัติเมื่อใช้ PS remoting แต่ในโมดูลที่อยู่ในเส้นทางบนระบบปลายทางจะถูกโหลดอัตโนมัติ