วิธีสร้างและเรียกใช้สคริปต์ PowerShell: คำแนะนำทีละขั้นตอน

การทำงานกับสคริปต์ PowerShell อาจเป็นโอกาสที่น่าตื่นเต้น ท้ายที่สุดแล้ว มันให้อินเทอร์เฟซที่สะอาดตาแก่คุณในการสร้างสคริปต์ของคุณสำหรับการทำงานประจำวันโดยอัตโนมัติ

หากคุณเป็นนักพัฒนา คุณสามารถสร้างสคริปต์การทำงานอัตโนมัติได้อย่างสมบูรณ์ — PowerShell เชี่ยวชาญเป็นพิเศษ โดยเฉพาะอย่างยิ่งหากคุณใช้เพื่อสร้าง ทดสอบ และปรับใช้โซลูชันในสภาพแวดล้อม CI/CD

บทความนี้กล่าวถึงการสร้างและเรียกใช้สคริปต์ PowerShell ให้ละเอียดยิ่งขึ้น ที่นี่ เราจะกล่าวถึงคำแนะนำทีละขั้นตอนเกี่ยวกับการดำเนินการกับ VS Code, Notepad และ Integrated Scripting Environment

มาเริ่มกันเลย.

PowerShell คืออะไร?

PowerShell เป็นเครื่องมืออัตโนมัติและการกำหนดค่าข้ามแพลตฟอร์ม มีแพ็คเกจที่สมบูรณ์สำหรับผู้ดูแลระบบ นักพัฒนา และผู้ใช้รายอื่นเพื่อใช้ cmdlets (คำสั่งขนาดเล็กและน้ำหนักเบา) เพื่อจัดการงานต่างๆ

ภายใต้แพ็คเกจ คุณจะได้รับสิ่งต่อไปนี้:

ไม่เหมือนกับพรอมต์คำสั่งตรงที่สามารถใช้งานได้บนแพลตฟอร์มหลักๆ ทั้งหมด รวมถึง Windows, Linux และ macOS

ในทางเทคนิคแล้ว PowerShell ถูกสร้างขึ้นบน .NET framework ด้วยแนวทางของเขา จึงรองรับออบเจกต์และข้อมูลที่มีโครงสร้าง เช่น JSON, CSV และ XML นักพัฒนายังสามารถใช้ REST API กับ PowerShell น่าเสียดายที่พรอมต์คำสั่งพื้นฐานไม่รองรับสิ่งเหล่านี้เนื่องจากเป็นแบบข้อความ

สคริปต์ PowerShell ทั้งหมดเขียนด้วยนามสกุล .ps1

เมื่อเขียนสคริปต์ใน PowerShell คุณจำเป็นต้องทราบแนวคิดหลักสามประการ:

  • Cmdlet: นี่คือสคริปต์ปฏิบัติการอะตอมที่มีฟังก์ชันการทำงานที่กำหนดค่าไว้ล่วงหน้า ตัวอย่างเช่น คุณสามารถใช้ Copy-Item เพื่อคัดลอก Get-Help เพื่อขอความช่วยเหลือ หรือ Write-Host เพื่อแสดงผลบางอย่างบนหน้าจอ
  • นามแฝง: นามแฝงเป็นวิธีที่ง่ายในการอ้างอิง cmdlet ช่วยให้เข้าถึงได้เร็วขึ้น อย่างไรก็ตาม แนะนำให้ใช้กับข้อความแจ้งเพื่อวัตถุประสงค์ในการโต้ตอบ ไม่ใช่เมื่อเขียนสคริปต์ PowerShell
  • ฟังก์ชัน: ฟังก์ชันคือชุดของคำสั่ง PowerShell ผู้ใช้สามารถเรียกใช้ฟังก์ชันได้โดยการเรียกใช้

PowerShell และการเขียนสคริปต์

การเขียนสคริปต์เป็นวิธีการที่จำเป็นสำหรับการทำให้งานของคุณเป็นแบบอัตโนมัติ ไม่ว่าคุณจะเป็นโปรแกรมเมอร์ ผู้ดูแลระบบ หรือฟรีแลนซ์ การเขียนสคริปต์สามารถทำให้กระบวนการทำงานทั่วไปเป็นแบบอัตโนมัติได้

ท้ายที่สุดแล้ว การเขียนสคริปต์มีประโยชน์มากมาย รวมถึง:

  • ประหยัดเวลาอันมีค่าของคุณด้วยระบบอัตโนมัติ
  • ความรู้ฉบับพกพา.
  • ให้คุณรักษาสิ่งต่าง ๆ ให้สอดคล้องกันทั่วทั้งระบบ
  • มันช่วยปรับปรุงชุดทักษะและการจ้างงานของคุณ
  9 เครื่องมือจัดการแพตช์ทางเลือก Microsoft WSUS ที่ดีที่สุดสำหรับ SMB

คุณสามารถทำสคริปต์ PowerShell, Bash Scripting, Ruby หรือ Python

โดยรวมแล้ว PowerShell เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการเขียนสคริปต์ อย่างไรก็ตาม Windows ป้องกันไม่ให้สคริปต์ทำงานเนื่องจากการตั้งค่าความปลอดภัย ซึ่งอาจนำไปสู่ข้อผิดพลาด เช่น “การรันสคริปต์ถูกปิดใช้งานบนระบบนี้” หากต้องการข้าม คุณจะต้องตั้งค่านโยบายการดำเนินการที่ถูกต้อง (กล่าวถึงในบทความต่อไป)

เหตุใดคุณจึงควรใช้ PowerShell สำหรับการเขียนสคริปต์

หนึ่งในเหตุผลที่ใหญ่ที่สุดที่ PowerShell เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการเขียนสคริปต์คือความสามารถในการทำงานข้ามแพลตฟอร์ม รองรับ Windows, Linux และ MacOS ซึ่ง Command Prompt ของ Windows เริ่มต้นไม่รองรับ

คุณสามารถใช้ PowerShell เพื่อสร้างงานอย่างง่ายโดยใช้ตัวสร้างงานอย่างง่าย ตัวอย่างเช่น คุณสามารถใช้ PowerShell เพื่อรีบูตเครื่อง ล้างแคชเป็นระยะ หรือแม้แต่ตรวจสอบสิทธิ์เซสชัน

นอกจากนี้ การเขียนสคริปต์ PowerShell ส่วนใหญ่จะใช้สำหรับการจัดการระบบอัตโนมัติ อย่างไรก็ตาม คุณสามารถใช้เป็นผู้พัฒนาเพื่อทดสอบ สร้าง และปรับใช้บิลด์ผ่านสภาพแวดล้อม CI/CD

สคริปต์ PowerShell ถูกสร้างขึ้นอย่างไร

หากต้องการสร้าง PowerShell Scripts คุณต้องมีโปรแกรมแก้ไขข้อความ ส่วนใหญ่ คุณจะใช้โปรแกรมแก้ไขข้อความพื้นฐานได้ตามปกติ แต่ด้วยโปรแกรมแก้ไขข้อความ/โค้ดสมัยใหม่ คุณจะพบว่ากระบวนการทั้งหมดจัดการได้ง่ายขึ้นมาก

นั่นเป็นเหตุผลที่เราจะเริ่มต้นด้วยการแสดงวิธีสร้าง PowerShell Scripts โดยใช้ Visual Studio Code (หรือที่เรียกว่า VS Code) นอกจากนี้ เราจะกล่าวถึงวิธีสร้างสคริปต์ PowerShell ใน Notepad และสภาพแวดล้อมแบบรวมที่เป็นมิตรต่อการเขียนสคริปต์อื่นๆ เช่น PowerShell Integrated Scripting Environment (PowerShell ISE).

#1. ด้วยรหัส VS

VS Code เป็นโปรแกรมแก้ไขโค้ดข้ามแพลตฟอร์มฟรีที่แข็งแกร่งและเชื่อถือได้ Microsoft พัฒนาซอฟต์แวร์ดังกล่าว ให้คุณได้รับประโยชน์เพิ่มเติมจากการสนับสนุน PowerShell ที่ดี

คุณจะได้อินเทอร์เฟซที่สะอาดตาตั้งแต่แกะกล่อง และสามารถใช้กับภาษาการเขียนโปรแกรมแทบทุกภาษา

เนื่องจาก VS Code เป็นโปรแกรมแก้ไขโค้ดที่เหมาะสม จึงรองรับส่วนขยาย และเพื่อปรับปรุงประสบการณ์การเขียนสคริปต์ PowerShell เราจะใช้ส่วนขยาย PowerShell

การติดตั้งรหัส Visual Studio

แต่ก่อนอื่นคุณต้องติดตั้ง VS Code

โดยไปที่หน้าดาวน์โหลด Visual Studio Code เลือกเวอร์ชัน VS Code ที่ถูกต้องตามระบบปฏิบัติการของคุณ เนื่องจากเราใช้ Windows 11 เราจึงใช้เวอร์ชัน Windows

เมื่อดาวน์โหลดแล้ว ให้คลิกสองครั้งที่ตัวติดตั้ง แล้วทำตามวิซาร์ดเพื่อติดตั้งลงในคอมพิวเตอร์ของคุณ

การติดตั้งส่วนขยาย PowerShell

คุณสามารถติดตั้งส่วนขยาย PowerShell ได้สองวิธี ขั้นแรก สร้างไฟล์ใหม่ที่มีนามสกุล .ps1

VSCode ฉลาดพอที่จะรู้ว่าคุณกำลังทำงานกับ PowerShell และแนะนำให้คุณติดตั้ง “ส่วนขยาย PowerShell” จาก Microsoft โดยอัตโนมัติ

  21 เว็บไซต์ที่ดีที่สุดอย่าง Omegle

คุณสามารถคลิกที่ “ติดตั้ง” เพื่อทำการติดตั้ง มิฉะนั้น ให้คลิก “แสดงคำแนะนำ” เพื่อเรียนรู้เพิ่มเติม

หากด้วยเหตุผลบางอย่าง Visual Studio Code ไม่ได้ให้คำแนะนำใดๆ แก่คุณ คุณสามารถค้นหาปลั๊กอินด้วยตนเองได้

คลิกที่สัญลักษณ์สี่เหลี่ยมสี่ช่อง (โดยมีหนึ่งช่องลอยออกมา) หรือกด Ctrl + Shift + X เพื่อเปิดหน้าต่างส่วนขยาย ตอนนี้ ค้นหา “PowerShell จาก Microsoft” แล้วคลิกที่ผลลัพธ์แรก จากนั้นดำเนินการติดตั้ง

สุดท้าย ระบบจะถามคุณว่าคุณต้องการเชื่อถือผู้เขียนไฟล์ในพื้นที่ทำงานหรือไม่ กด “Trust Workspace & Install” เพื่อเสร็จสิ้นการติดตั้ง

การสร้างสคริปต์ PowerShell ด้วย VS Code

ตอนนี้ คุณสามารถสร้างสคริปต์ Powershell แรกของคุณด้วย VS Code และส่วนขยายของสคริปต์ที่ติดตั้งอย่างถูกต้อง

หากคุณยังไม่ได้สร้างไฟล์ใหม่ คุณสามารถทำได้โดยทำตามขั้นตอนด้านล่างนี้

  • เปิดรหัส VS
  • ไปที่เมนูด้านบนสุด คลิก File จากนั้นคลิก New Text File
  • ตอนนี้ให้บันทึกไฟล์โดยไปที่ ไฟล์ > บันทึกเป็น
  • ป้อนชื่อไฟล์ที่ต้องการและตรวจสอบให้แน่ใจว่าได้เพิ่มนามสกุล .ps1
  • สุดท้ายคลิกที่บันทึกไฟล์
  • แค่นั้นแหละ! ตอนนี้คุณสามารถสร้างสคริปต์ของคุณตามนั้น ฉันเพิ่ม Write-Host cmdlet ด้วยค่า “นี่คือ VS Code Script ที่เขียนขึ้นสำหรับ admintrick.com”

    เราจะดูวิธีเรียกใช้สคริปต์ในภายหลัง ดังนั้นโปรดอ่านต่อไป!

    #2. ด้วยแผ่นจดบันทึก

    การสร้างสคริปต์ PowerShell ใน Notepad เป็นเรื่องง่าย

    สิ่งที่คุณต้องทำคือทำตามขั้นตอนด้านล่าง:

    1. เปิด Start และค้นหา Notepad

    2. ตอนนี้ คลิกขวาที่มันแล้วเลือก “เปิดในฐานะผู้ดูแลระบบ”

    3. ตอนนี้เขียนสคริปต์ของคุณ

    4. สำหรับบทช่วยสอน เราจะเขียนว่า “นี่คือ PowerShell Script ที่เขียนใน Notepad”

    5. ไปที่ File ที่เมนูด้านบน แล้วคลิก “Save as”

    6. เลือกชื่อสคริปต์ PowerShell ของคุณแล้วคลิก “บันทึก”

    แค่นั้นแหละ. คุณสร้างสคริปต์ PowerShell ด้วย Notepad สำเร็จแล้ว

    #3. ด้วย PowerShell ISE

    PowerShell บน Windows ยังมีสภาพแวดล้อมสคริปต์รวมของตัวเอง คุณสามารถใช้มันเพื่อเขียนโค้ดสคริปต์ของคุณโดยไม่ต้องอาศัยโค้ดหรือโปรแกรมแก้ไขข้อความของบุคคลที่สาม

    หากต้องการใช้งานให้สำเร็จ คุณจะต้องใช้ผ่านขั้นตอนด้านล่าง:

    1. เปิดเริ่ม

    2. ตอนนี้ ค้นหาคำหลัก “Windows PowerShell ISE”

    3. เลือกผลลัพธ์แรก คลิกขวา จากนั้นคลิกซ้ายที่ “Run as administrator” จะเปิดหน้าต่าง PowerShell ISE

      วิธีดูโปรไฟล์กระซิบของใครบางคน

    4. ตอนนี้คลิกที่ไฟล์แล้วเลือก “ใหม่” มันจะเปิดหน้าต่างไฟล์ใหม่ตามด้านล่าง

    7. พิมพ์สคริปต์ที่คุณต้องการ สำหรับบทช่วยสอน เราจะเขียนว่า “นี่คือสคริปต์ PowerShell ที่เขียนด้วยความช่วยเหลือของ PowerShell ISE”

    8. เมื่อเสร็จแล้ว ให้ไปที่ File และ Save As

    9. ที่นี่ เลือกชื่อไฟล์และคลิกที่บันทึก

    คุณยังสามารถเรียกใช้สคริปต์ได้โดยตรงจาก PowerShell ISE ในการทำเช่นนั้น ให้คลิกปุ่ม RUN ที่ส่วนบนสุดของสภาพแวดล้อม หากเกิดข้อผิดพลาดด้านความปลอดภัย โปรดอ่านวิธีแก้ไขด้านล่าง

    วิธีแก้ไขข้อผิดพลาดด้านความปลอดภัยของสคริปต์ PowerShell และเรียกใช้

    ตามที่กล่าวไว้ก่อนหน้านี้ Windows มีนโยบายความปลอดภัยที่เข้มงวดเมื่อเรียกใช้สคริปต์ หากต้องการข้ามสิ่งนี้ คุณจะต้องเปิดใช้งานการเรียกใช้สคริปต์ในเครื่อง Windows ของคุณ

    โดยทำตามขั้นตอนด้านล่าง:

  • เปิดเมนูเริ่ม Windows
  • ค้นหา PowerShell
  • ตอนนี้ คลิกขวาที่แอพ PowerShell แล้วคลิกขวาที่มัน
  • เลือกตัวเลือก “เรียกใช้ในฐานะผู้ดูแลระบบ”
  • เมื่อ PowerShell เปิดขึ้น ให้พิมพ์คำสั่ง “Set-ExecutionPolicy RemoteSigned”
  • กด Enter จากนั้นระบบจะขอให้คุณยืนยัน กด A เพื่อเปิดใช้งาน
  • แค่นั้นแหละ; ในที่สุดคุณก็สามารถเรียกใช้สคริปต์ทั้งหมดของคุณได้แล้ว!

    สำหรับ PowerShell ISE จะมีลักษณะดังนี้

    สำหรับ Visual Studio Code จะมีลักษณะดังนี้

    และสำหรับ Notepad คุณจะต้องเรียกใช้โดยตรงจากพรอมต์คำสั่งของ PowerShell

    แนวทางปฏิบัติที่ดีที่สุดสำหรับการเขียนและการเรียกใช้สคริปต์ PowerShell

    คุณควรปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเมื่อทำงานกับ PowerShell Scripts แนวทางปฏิบัติเหล่านี้รวมถึง:

    • ใช้ชื่อเต็มของ cmdlet แทนการใช้นามแฝง นามแฝงมีประโยชน์เมื่อโต้ตอบกับคอนโซลเท่านั้น นามแฝงปรับปรุงการโต้ตอบที่เร็วขึ้น แต่อาจทำให้สคริปต์สับสนได้
    • เป็นการดีที่สุดที่จะไม่ใช้ Write-Host cmdlet เนื่องจากมีฟังก์ชันการทำงานที่จำกัด ตัวอย่างเช่น จะส่งเอาต์พุตไปยังหน้าจอเท่านั้น อย่างไรก็ตาม คุณสามารถใช้เพื่อแสดงข้อความเป็นสีเฉพาะได้ คุณสามารถใช้ cmdlet เขียนออกแทน
    • ใช้คำนามเอกพจน์ของ cmdlet แทนคำนามพหูพจน์เสมอ
    • ใช้กริยาที่ได้รับอนุมัติสำหรับ cmdlet
    • ระบุส่วนขยายแอปพลิเคชันทุกครั้งที่ทำได้ ช่วยขจัดความสับสนและเพิ่มความสามารถในการอ่าน
    • ใช้ตัวแก้ไขโค้ด PowerShell เฉพาะ เช่น VS Code หรือ PowerShell ISE คุณสมบัติเหล่านี้นำเสนอคุณสมบัติที่ยอดเยี่ยมสำหรับการเขียนและเรียกใช้สคริปต์ PowerShell คุณสามารถใช้ Notepad หรือ Notepad++ ได้ แต่แล้วคุณก็จำกัดตัวเอง
    • พยายามแสดงความคิดเห็น แต่อย่าหักโหม เพราะอาจทำให้การอ่านโค้ดและการบำรุงรักษาผิดพลาดได้
    • ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าพารามิเตอร์ความปลอดภัยที่ถูกต้องสำหรับการเรียกใช้สคริปต์ PowerShell

    บทสรุป

    แค่นั้นแหละ! ขณะนี้คุณสามารถสร้างและเรียกใช้สคริปต์ PowerShell โดยใช้ Notepad, VS Code และ PowerShell ISE นอกจากนี้ คุณสามารถใช้เครื่องมือใดๆ ที่กล่าวถึงเพื่อเขียนและเรียกใช้สคริปต์ PowerShell

    อย่างไรก็ตาม ตามที่กล่าวไว้ในแนวทางปฏิบัติที่ดีที่สุด ดีที่สุดคือหลีกเลี่ยง Notepad หรือ Notepad++ ในการเขียนสคริปต์ PowerShell เนื่องจากคุณพลาดคุณสมบัติมากมายที่มีให้โดยโปรแกรมแก้ไขโค้ด VS Code และ PowerShell ISE โดยเฉพาะ

    ถัดไป คุณอาจอ่านวิธีตรวจสอบเวอร์ชัน PowerShell และอัปเดตบนเซิร์ฟเวอร์ Windows

    เรื่องล่าสุด

    x