คุณเรียกใช้สคริปต์ในตัวของ PowerShell ภายในสคริปต์ของคุณได้อย่างไร
คุณใช้สคริปต์ในตัวเช่น
Get-Location
pwd
ls
dir
split-path
::etc...
คอมพิวเตอร์ของคุณทำงานโดยตรวจสอบเส้นทางของสคริปต์โดยอัตโนมัติ
ในทำนองเดียวกันฉันสามารถเรียกใช้สคริปต์ที่กำหนดเองได้โดยเพียงแค่ใส่ชื่อของสคริปต์ในบล็อกสคริปต์
::sid.ps1 is a PS script I made to find the SID of any user
::it takes one argument, that argument would be the username
echo $(sid.ps1 jowers)
(returns something like)> S-X-X-XXXXXXXX-XXXXXXXXXX-XXX-XXXX
$(sid.ps1 jowers).Replace("S","X")
(returns same as above but with X instead of S)
ไปที่บรรทัดคำสั่ง powershell แล้วพิมพ์
> $profile
สิ่งนี้จะส่งคืนเส้นทางไปยังไฟล์ที่บรรทัดคำสั่ง PowerShell ของเราจะดำเนินการทุกครั้งที่คุณเปิดแอป
มันจะเป็นแบบนี้
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
ไปที่เอกสารและดูว่าคุณมีไดเร็กทอรี WindowsPowerShell อยู่แล้วหรือไม่ ฉันไม่ได้เป็นเช่นนั้น
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
ตอนนี้เราได้สร้างสคริปต์ที่จะเปิดขึ้นทุกครั้งที่เราเปิดแอป PowerShell
เหตุผลที่เราทำเช่นนั้นก็เพื่อที่เราจะได้เพิ่มโฟลเดอร์ของเราเองที่เก็บสคริปต์ที่กำหนดเองทั้งหมดของเรา มาสร้างโฟลเดอร์นั้นกันและฉันจะตั้งชื่อว่า "Bin" ตามไดเร็กทอรีที่ Mac / Linux มีสคริปต์
> mkdir \Users\jowers\Bin
ตอนนี้เราต้องการให้เพิ่มไดเรกทอรีนั้นใน$env:path
ตัวแปรของเราทุกครั้งที่เราเปิดแอปเพื่อกลับไปที่WindowsPowerShell
ไดเรกทอรีและ
> start Microsoft.PowerShellISE_profile.ps1
จากนั้นเพิ่มสิ่งนี้
$env:path += ";\Users\jowers\Bin"
ตอนนี้เชลล์จะค้นหาคำสั่งของคุณโดยอัตโนมัติตราบใดที่คุณบันทึกสคริปต์ของคุณในไดเร็กทอรี "Bin" นั้น
เปิด powershell อีกครั้งและควรเป็นหนึ่งในสคริปต์แรกที่เรียกใช้งาน
เรียกใช้สิ่งนี้ในบรรทัดคำสั่งหลังจากโหลดซ้ำเพื่อดูไดเร็กทอรีใหม่ของคุณในตัวแปรพา ธ ของคุณ:
> $env:Path
ตอนนี้เราสามารถเรียกสคริปต์ของเราจากบรรทัดคำสั่งหรือจากภายในสคริปต์อื่นได้ดังนี้:
$(customScript.ps1 arg1 arg2 ...)
อย่างที่คุณเห็นเราต้องเรียกพวกเขาด้วย.ps1
ส่วนขยายจนกว่าเราจะสร้างนามแฝงให้ ถ้าเราอยากได้แบบแฟนซี