หากคุณใช้ Windows Operating System มาพักใหญ่ๆ คุณคงเคยเจอ CMD หรือ Command Prompt Command Prompt เป็น Command-line Interpreter ที่มาพร้อมกับทุกเวอร์ชันของ Windows ตั้งแต่ Windows NT Command Prompt ให้ Command-line Interface ที่ช่วยให้ผู้ใช้ทำงานทั่วไปของ OS ผ่านการเขียนคำสั่ง หรือกำหนดรายการคำสั่งใน Script สำหรับงานซ้ำๆ
ก่อนหน้านี้ Windows ทุกเวอร์ชันมีแค่ Command Prompt เป็น Command-line Interpreter แต่เปลี่ยนไปเมื่อ Windows ที่มาพร้อมกับ Windows PowerShell ฟีเจอร์ขั้นสูงที่มีฟีเจอร์ของ Command Prompt ครบ และเพิ่มเติม ตั้งแต่นั้นมา Windows PowerShell กลายเป็นโปรแกรมที่นิยมสำหรับรัน Batch Scripts สำหรับ Task Automation
การทำความเข้าใจ Command Prompt
Command Prompt ถูกนำไปใช้ผ่าน Win32 Console เพื่อใช้ประโยชน์จาก Native OS Functions เหมือนกับ GUI ที่ใช้เมาส์เปิดและรันแอปพลิเคชัน Command Prompt มีชุดคำสั่งที่กำหนดไว้เพื่อทำงานเดียวกัน คำสั่งใน Command Prompt เป็น API Methods ทั่วไป พร้อมการนำไปใช้ภาษาเครื่อง (Machine Language) ทำให้การรันเร็วกว่า GUI
เพื่อทำงานจาก Command Prompt ผู้ใช้เขียนคำสั่งที่ระบบกำหนดไว้ พร้อม Options ที่รองรับโดย Syntax ของคำสั่ง เพื่อให้ Reusability ง่าย สามารถใช้ปุ่มลูกศรบน-ล่าง นำทางประวัติคำสั่งที่รันแล้ว
วิธีเข้าถึง Windows Command Prompt
Command Prompt เปิดได้ผ่าน Run Window, File Explorer, หรือ Start Menu แต่การเปิดจาก Run Window ไม่ให้ตัวเลือก Run as Administrator ซึ่งอาจจำเป็นขึ้นอยู่กับงานที่จะทำ
- เปิดผ่าน Run Window: กด Windows + R พิมพ์ "cmd" ใน Run Window กด Enter
- จาก Start Menu: ค้นหา "Command Prompt" หรือ "cmd" เข้าถึงได้ ต่างจาก Run Window ที่นี่สามารถ Run as Administrator ได้ โดยคลิกขวาที่ Command Prompt จากรายการ Applications แล้วเลือก Run as administrator
- เข้าถึงจาก File Explorer: ไปที่ C:\Windows\System32 รันไฟล์ cmd.exe
การทำความเข้าใจ Windows PowerShell
Windows PowerShell เป็น Microsoft Framework ออกแบบมาเพื่อ Task Automation และ High-level Computer Configuration ส่วนใหญ่ ประกอบด้วย Command-line Interface และ Scripting Environment
เนื่องจาก PowerShell ออกแบบมาสำหรับ Task Automation และ Configuration Management จึงใช้โดย System Administrators และ IT Professionals ในงานเช่น Configuration ของคอมพิวเตอร์จำนวนมากเชื่อมต่อผ่าน Network (Local หรือ Remote) การจัดการ File System ขั้นสูง เช่น Registry
PowerShell ถูกนำไปใช้กับ .Net Framework ที่ Microsoft พัฒนา ทำให้ใช้คำสั่งที่เรียกว่า Cmdlets Cmdlets เป็น Classes ทั่วไปที่ทำ Operation เฉพาะ นำไปใช้กับ .Net PowerShell ยังอนุญาตให้ผู้ใช้ Implement .Net Classes เอง และใช้เป็น Cmdlets เพิ่มพลัง Task Automation
PowerShell ใช้ Pipes อย่างมีประสิทธิภาพ ซึ่งช่วยให้ Output จาก Cmdlet หนึ่ง ใช้เป็น Input สำหรับ Cmdlet อีกตัว ทำให้ Script ทำงานร่วมกันได้ และ Reusability สูง
ตั้งแต่ 2016 ที่ PowerShell กลายเป็น Open-source และ Cross-platform การใช้งานเติบโตเร็วบน OS ทุกตัว รวม Linux และ macOS เพราะฉะนั้น Vendor ตัวที่สามหลายแห่งออกแบบ Integration กับ PowerShell เพื่อให้ Sysadmins และ IT Pros ทำงานง่ายขึ้น
วิธีเข้าถึง Windows PowerShell
เหมือน Command Prompt PowerShell เปิดได้ผ่าน Run Window, File Explorer, หรือ Start Menu Run Window ไม่ให้ตัวเลือก Run as Administrator
- ผ่าน Start Menu: ค้นหา "PowerShell" จาก Search Bar สามารถ Run as Administrator ได้โดยคลิกขวา แล้วคลิก Run as administrator
- ผ่าน Run Window: กด Windows + R พิมพ์ "PowerShell" กด Enter หรือ OK
- จาก File Explorer: ไปที่ C:\Windows\System32\WindowsPowerShell เปิดโฟลเดอร์เวอร์ชัน หาไฟล์ powershell.exe
ความแตกต่างระหว่าง Windows PowerShell และ CMD
Windows PowerShell เป็นการพัฒนาขึ้นจาก CMD และแม้ Windows 10 ใหม่ๆ ยังมาพร้อมทั้งสองโปรแกรม PowerShell หมายจะ Replace Command Prompt ในอนาคต เพราะไม่มีอะไรที่ Command Prompt ทำได้ แต่ PowerShell ทำไม่ได้
หลังอ่านส่วน Understanding Windows PowerShell และ Command Prompt คุณคงเห็นความแตกต่างแล้ว สรุป:
Windows PowerShell มี Advanced Features มากกว่า Command Prompt ซึ่งสำคัญสำหรับ Task Automation และ Configuration Management ผ่าน Cmdlets ที่กำหนดไว้ล่วงหน้า นำไปใช้กับ .Net รวมถึงการจัดเตรียม User-defined Cmdlets
Windows PowerShell เป็น Cross-platform จึงใช้ Advanced Features ได้บน OS ยอดนิยมทั้ง Windows, Linux, macOS ต่างจาก Command Prompt ที่มีแค่ Windows
Windows PowerShell ใช้คำสั่งที่ ทรงพลัง เรียกว่า Cmdlets ทำงานซับซ้อนมากกว่าคำสั่งใน Command Prompt
Windows PowerShell ไม่ใช่แค่ Command-line Interpreter แต่ยังประกอบด้วย Scripting Environment ให้ผู้ใช้เขียน Script ซับซ้อนสำหรับงานทรงพลัง ต่างจาก Command Prompt ที่เป็นแค่ Command-line Interpreter
เมื่อไหร่ควรใช้ Windows PowerShell หรือ CMD
โชคดีที่ Windows ยังมาพร้อมทั้ง Command Prompt และ Windows PowerShell ไม่ถูกบังคับให้ใช้ตัวไหนตัวหนึ่ง ไม่ได้แค่ตอนนี้ หากคุณใช้ Command-line Interfaces นานครั้ง และไม่ต้องการ Advanced Features ของ Shell CMD พื้นฐานเหมาะสม สามารถทำงานทั่วไป เช่น Ping, Copy/Paste ไฟล์, เปิดแอปพลิเคชัน ฯลฯ
แต่หากคุณเป็น System Administrator, IT Professional, หรือ Network Administrator ควรใช้ Windows PowerShell พิจารณาจากฟีเจอร์ทรงพลังและสิ่งที่ทำได้ ไม่ว่าจะการใช้ Windows PowerShell กำลังกลายเป็นทักษะที่ต้องการมากขึ้นสำหรับงาน IT