PowerShell สำหรับมือใหม่ Hardware

PowerShell สำหรับมือใหม่

📅 2026-02-09 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

PowerShell สำหรับมือใหม่: Hardware Edition โดย อ.บอม SiamCafe

PowerShell คืออะไร? ทำไมต้อง Hardware?

PowerShell เนี่ย สมัยผมทำร้านเน็ตฯ เมื่อ 20 กว่าปีก่อน ยังไม่มีหรอก! แต่ถ้ามีนะ ชีวิตคงง่ายขึ้นเยอะ! มันคือ Command-Line Shell และ Scripting Language จาก Microsoft นั่นแหละ พูดง่ายๆ คือ เอาไว้พิมพ์คำสั่งสั่งงานคอมพิวเตอร์ได้ละเอียดกว่า Command Prompt (CMD) เดิมๆ เยอะ

แล้วทำไมต้อง Hardware? เพราะ PowerShell มันเข้าถึงระบบลึกๆ ได้ไง! เราสามารถใช้มันตรวจสอบข้อมูลฮาร์ดแวร์, แก้ไขค่า Config, หรือแม้กระทั่งสั่งเปิดปิดอุปกรณ์บางอย่างได้ด้วย script ง่ายๆ คิดดูดิ ถ้าตอนนั้นผมมี PowerShell ผมคงไม่ต้องเดินไปเช็ค spec เครื่องลูกทีละเครื่องให้เมื่อยตุ้ม!

PowerShell ต่างจาก Command Prompt ยังไง?

เทียบง่ายๆ CMD คือรถเข็น ส่วน PowerShell คือรถบรรทุก! ทั้งคู่พาของไปส่งได้ แต่ PowerShell ขนได้เยอะกว่า เร็วกว่า และทำอะไรได้หลากหลายกว่ามากๆ นี่คือตารางเปรียบเทียบให้เห็นภาพ:

คุณสมบัติ Command Prompt (CMD) PowerShell
ชนิดของคำสั่ง Commands ธรรมดา (e.g., dir, copy) Cmdlets (Commands ที่เป็น Object)
การจัดการข้อมูล Text-Based Object-Based (จัดการข้อมูลเป็น Object ได้)
Scripting Basic Batch Scripts Advanced Scripting (Loops, Conditions, Functions)
การเข้าถึงระบบ จำกัด เข้าถึงระบบได้ลึกกว่า

เริ่มต้นใช้งาน PowerShell: เช็ค Spec เครื่องแบบง่ายๆ

เอาล่ะ! มาลองของจริงกัน เริ่มจากเช็ค spec เครื่องตัวเองก่อนเลย เปิด PowerShell ขึ้นมา (พิมพ์ PowerShell ในช่อง Search ของ Windows แล้วกด Enter) จะเห็นหน้าต่างสีฟ้าๆ ขึ้นมา

ลองพิมพ์คำสั่งนี้แล้วกด Enter:

Get-ComputerInfo

คำสั่งนี้จะแสดงข้อมูลพื้นฐานของเครื่องเราออกมาเพียบ! ทั้ง OS, CPU, Memory, Mainboard โอ้โห! ละเอียดยิบ! สมัยก่อนกว่าจะได้ข้อมูลพวกนี้ ต้องลงโปรแกรมสารพัด!

เจาะลึก CPU: ดูรายละเอียดแบบเน้นๆ

ถ้าอยากดูข้อมูล CPU แบบละเอียดๆ ลองคำสั่งนี้:

Get-WmiObject -Class Win32_Processor

คำสั่งนี้จะแสดงข้อมูล CPU แบบเจาะลึก! ทั้ง Clock Speed, Number of Cores, L2 Cache, L3 Cache ครบ! ใครอยากรู้ว่า CPU ตัวเองเป็นรุ่นอะไร สเปคเท่าไหร่ จัดไป!

เคยเจอเคสลูกค้าถามว่า "เครื่องผมใช้ CPU รุ่นอะไร?" สมัยก่อนต้องเปิดเคสดู! เดี๋ยวนี้แค่ Copy คำสั่งนี้ไปให้ลูกค้า Run ก็รู้เรื่อง!

เช็ค Memory: RAM เท่าไหร่? Bus Speed เท่าไหร่?

RAM ก็สำคัญ! ลองเช็คดูว่าเครื่องเรามี RAM เท่าไหร่ Bus Speed เท่าไหร่ ด้วยคำสั่งนี้:

Get-WmiObject -Class Win32_PhysicalMemory | Format-Table Manufacturer, PartNumber, SerialNumber, Capacity, Speed

คำสั่งนี้จะแสดงข้อมูล RAM แต่ละตัวในเครื่องเรา! Manufacturer, PartNumber, SerialNumber, Capacity, Speed มาครบ! ใครอยากอัพเกรด RAM ต้องเช็คข้อมูลพวกนี้ให้ดีนะ!

สมัยผมทำร้านเน็ตฯ เคยเจอเคส RAM ไม่ Compatible! เครื่องเปิดไม่ติด! เสียเวลาไปหลายชั่วโมง! ถ้ามี PowerShell คงเช็คได้ก่อนซื้อ RAM มาใส่!

PowerShell กับการจัดการ Disk: เช็คพื้นที่, Format, Defrag

Hard Disk ก็สำคัญ! PowerShell ช่วยเราจัดการ Disk ได้หลายอย่างเลย

เช็คพื้นที่ว่าง: เหลือเท่าไหร่? ใกล้เต็มหรือยัง?

อยากรู้ว่า Hard Disk แต่ละ Drive เหลือพื้นที่เท่าไหร่ ลองคำสั่งนี้:

Get-PSDrive -PSProvider FileSystem | Where {$_.Root -like "C:\*"} | Format-Table Name, Free, Used, @{Label="Size";Expression={$_.Used + $_.Free}}

คำสั่งนี้จะแสดง Drive ทั้งหมดในเครื่องเรา พร้อมพื้นที่ว่าง, พื้นที่ที่ใช้ไป, และขนาดรวมของ Drive นั้นๆ

สมัยก่อนต้องคลิกขวาที่ Drive แล้วเลือก Properties ถึงจะรู้! เดี๋ยวนี้แค่พิมพ์คำสั่งเดียวก็จบ!

Format Disk: ล้างข้อมูลแบบหมดจด

ถ้าต้องการ Format Disk (ล้างข้อมูลทั้งหมด) สามารถใช้คำสั่งนี้ได้ (คำเตือน: ข้อมูลจะหายหมดนะ!)

Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false

คำสั่งนี้จะ Format Drive D: เป็น File System NTFS และตั้งชื่อ Volume เป็น "Data" (เปลี่ยน Drive Letter และ Label ได้ตามต้องการ)

สำคัญ: ก่อน Format Disk ต้อง Backup ข้อมูลสำคัญก่อนเสมอ! ไม่งั้นเสียใจภายหลัง!

Defrag Disk: จัดเรียงข้อมูลให้เร็วขึ้น

Hard Disk ที่ใช้งานไปนานๆ จะมี Fragment (ข้อมูลกระจัดกระจาย) ทำให้เครื่องช้าลง การ Defrag จะช่วยจัดเรียงข้อมูลให้เป็นระเบียบ ทำให้เครื่องเร็วขึ้น

Optimize-Volume -DriveLetter C -Analyze -Verbose
Optimize-Volume -DriveLetter C -Defrag -Verbose

คำสั่งแรกจะ Analyze (วิเคราะห์) ว่า Drive C: มี Fragment เท่าไหร่ คำสั่งที่สองจะ Defrag (จัดเรียงข้อมูล) Drive C:

สมัยก่อนต้องใช้โปรแกรม Defrag Third-Party! เดี๋ยวนี้ PowerShell ทำได้ในตัว!

หวังว่าบทความนี้จะเป็นประโยชน์กับมือใหม่หัดใช้ PowerShell นะครับ ลองเอาไปปรับใช้กันดู SiamCafe Blog มีบทความ IT ดีๆ อีกเยอะเลย!

🎬 วิดีโอแนะนำ

ดูวิดีโอเพิ่มเติมเกี่ยวกับPowerShell สำหรับมือใหม่:

FAQ: คำถามที่พบบ่อยเกี่ยวกับ PowerShell และ Hardware

  1. PowerShell ฟรีไหม?

    ฟรีครับ! PowerShell เป็นส่วนหนึ่งของ Windows (ตั้งแต่ Windows 7 เป็นต้นมา) สามารถใช้งานได้ฟรีๆ เลย

  2. PowerShell อันตรายไหม? ถ้าพิมพ์คำสั่งผิดจะเกิดอะไรขึ้น?

    PowerShell มีความเสี่ยง ถ้าใช้คำสั่งผิดๆ อาจทำให้ระบบเสียหายได้! ควรศึกษาคำสั่งให้ดีก่อนใช้งาน และควรระมัดระวังในการรัน Script ที่ไม่น่าเชื่อถือ

  3. PowerShell ใช้ได้กับ Hardware ทุกชนิดไหม?

    PowerShell ส่วนใหญ่จะใช้ได้กับ Hardware ที่ Windows รองรับ ถ้า Hardware มี Driver ที่ถูกต้อง PowerShell ก็จะสามารถเข้าถึงและจัดการได้

  4. มีแหล่งเรียนรู้ PowerShell เพิ่มเติมแนะนำไหม?

    Microsoft มี Documentation อย่างเป็นทางการของ PowerShell สามารถศึกษาได้จากเว็บไซต์ของ Microsoft นอกจากนี้ยังมี Tutorials และ Courses ออนไลน์อีกมากมาย SiamCafe Blog ก็มีบทความ PowerShell ด้วยนะ!

เจอกันใหม่บทความหน้าครับ! หวังว่าทุกคนจะสนุกกับการเรียนรู้ PowerShell นะ!

Best Practices PowerShell ที่ควรรู้

ตั้งชื่อตัวแปรให้สื่อความหมาย

สมัยผมทำร้านเน็ต ผมเคยเจอโค้ดที่เขียนแบบ $a, $b เต็มไปหมด ตอนแก้ปัญหานี่ปวดหัวเลย! พยายามตั้งชื่อตัวแปรให้มันบอกว่าตัวแปรนี้เก็บอะไร เช่น $ComputerName, $ProcessList จะช่วยให้เข้าใจง่ายขึ้นเยอะ

จำไว้ว่า โค้ดที่ดีคือโค้ดที่อ่านง่าย ไม่ใช่โค้ดที่สั้นที่สุด

ใช้ Comment อธิบายโค้ด

อย่าคิดว่าตัวเองจะจำได้ทุกอย่าง! ใส่ comment อธิบายว่าโค้ดส่วนนี้ทำอะไร, ทำไมถึงทำแบบนี้ จะช่วยให้ตัวเองและคนอื่นที่มาแก้โค้ดต่อเข้าใจได้ง่ายขึ้นมาก


# Get the list of running processes
$ProcessList = Get-Process

ผมเคยเจอโค้ดที่ไม่มี comment เลย ตอนแก้บั๊กนี่เหมือนงมเข็มในมหาสมุทรเลยทีเดียว

Error Handling สำคัญมาก

โปรแกรมที่ดีต้องจัดการกับ error ที่อาจเกิดขึ้นได้ ผมแนะนำให้ใช้ try-catch เพื่อดัก error และแจ้งเตือนผู้ใช้ หรือบันทึก error ลง log file


try {
  # Code that might throw an error
  Get-Content -Path "C:\nonexistentfile.txt" -ErrorAction Stop
}
catch {
  Write-Host "Error: $($_.Exception.Message)"
}

ตอนทำระบบจัดการร้าน ผมเจอ error ประเภทไฟล์หายบ่อยมาก try-catch ช่วยชีวิตไว้เยอะเลย

Format Output ให้สวยงาม

PowerShell มี cmdlet ที่ช่วย format output ได้เยอะแยะ เช่น Format-Table, Format-List ลองใช้ดู จะทำให้ผลลัพธ์ที่แสดงดูดีขึ้นเยอะ


Get-Process | Format-Table -AutoSize

ลูกค้าผมบางคนบ่นว่าข้อมูลดิบๆ อ่านยาก พอใช้ Format-Table ชีวิตดีขึ้นเยอะ

iCafeForex แนะนำเทคนิคการลงทุน

FAQ คำถามที่พบบ่อยเกี่ยวกับ PowerShell

PowerShell กับ Command Prompt ต่างกันยังไง?

PowerShell เหนือกว่า Command Prompt เยอะ! มันเป็น object-based shell คือทุกอย่างที่ส่งออกมาจากคำสั่งต่างๆ คือ object ไม่ใช่แค่ text ทำให้เราจัดการข้อมูลได้ง่ายกว่าเยอะ แถมมี cmdlet ให้ใช้เยอะแยะมากมาย

PowerShell จำเป็นสำหรับ IT ไหม?

จำเป็นมากๆ! ยิ่งถ้าคุณทำงานด้าน System Admin หรือ DevOps PowerShell คือเครื่องมือสำคัญที่จะช่วยให้คุณทำงานได้เร็วขึ้น, automate งานต่างๆ ได้ และจัดการระบบได้ง่ายขึ้น

PowerShell Core คืออะไร?

PowerShell Core คือ PowerShell เวอร์ชัน open-source และ cross-platform รันได้บน Windows, macOS, Linux ทำให้คุณสามารถใช้ PowerShell บนระบบปฏิบัติการที่คุณต้องการได้

ลองดู SiamCafe Blog สำหรับบทความอื่นๆ

จะเริ่มเรียน PowerShell ได้ยังไง?

เริ่มจากพื้นฐานก่อนเลย! ทำความเข้าใจเรื่อง variable, loop, conditional statement จากนั้นลองเขียน script ง่ายๆ เช่น script ที่เปลี่ยนชื่อไฟล์, script ที่ดึงข้อมูลจาก website ค่อยๆ เรียนรู้ไปเรื่อยๆ

PowerShell ISE ยังใช้อยู่ไหม?

PowerShell ISE (Integrated Scripting Environment) เป็นเครื่องมือเก่าที่มาพร้อมกับ Windows PowerShell แต่ตอนนี้ Microsoft แนะนำให้ใช้ Visual Studio Code (VS Code) แทน เพราะ VS Code มี features ที่ดีกว่า และรองรับ PowerShell Core

สรุป

PowerShell เป็นเครื่องมือที่ทรงพลังมากๆ สำหรับ IT มือใหม่ การเรียนรู้ PowerShell จะช่วยให้คุณทำงานได้ง่ายขึ้น, เร็วขึ้น และเป็นมืออาชีพมากขึ้น อย่ากลัวที่จะลองผิดลองถูก! ฝึกฝนบ่อยๆ แล้วคุณจะเก่งเอง