แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

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

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

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

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

PowerShell คืออะไร?

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

ตรงกันข้ามกับเชลล์อื่นๆ ที่สามารถรับและส่งคืนข้อความเท่านั้น PowerShell ยังสามารถยอมรับและส่งคืนอ็อบเจ็กต์ .NET ได้ด้วยคุณสมบัติที่โดดเด่นมากมายที่ครอบคลุม คุณลักษณะที่เกี่ยวข้องกับเชลล์ที่สำคัญที่สุดบางประการของ PowerShell มีดังนี้:

  • การคาดคะเนคำสั่งและการทำให้แท็บเสร็จสิ้น
  • รองรับพารามิเตอร์และนามแฝงคำสั่ง
  • ประวัติบรรทัดคำสั่งที่ครอบคลุม
  • ความสามารถในการเชื่อมโยงคำสั่งผ่านไปป์ไลน์
  • ระบบช่วยเหลือในคอนโซลที่คล้ายกับหน้าคนในระบบที่ใช้ Unix

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

เนื่องจาก PowerShell ใช้ .NET CLR (.NET Common Language Runtime) จึงง่ายต่อการดูว่าทำไมอินพุตและเอาต์พุตทั้งหมดที่ PowerShell ใช้งานได้จึงเป็นอ็อบเจ็กต์ .NET นอกจากนี้ ไม่จำเป็นต้องแยกวิเคราะห์เอาต์พุตข้อความใดๆ เพียงเพื่อให้ PowerShell สามารถดึงข้อมูลออกมาได้ ในบรรดาคุณสมบัติการเขียนสคริปต์ของ PowerShell คุณอาจพบสิ่งต่อไปนี้:

  • ระบบการจัดรูปแบบที่ครอบคลุมซึ่งให้ผลลัพธ์ที่ชัดเจนและง่ายดาย
  • สร้างประเภทไดนามิกผ่านระบบประเภทที่ครอบคลุม
  • คุณสามารถขยายความสามารถของ PowerShell ผ่านคลาส ฟังก์ชัน โมดูล และสคริปต์
  • รองรับรูปแบบข้อมูลที่หลากหลาย รวมถึง XML, JSON และ CSV

หากคุณสนใจที่จะจัดการและกำหนดค่าโครงสร้างพื้นฐานขององค์กรของคุณผ่านโค้ดมากขึ้น คุณจะดีใจที่ได้เรียนรู้ว่า PowerShell ยังมอบความเป็นไปได้นี้ให้กับคุณผ่านเฟรมเวิร์กการจัดการ Desired State Configuration (DSC) ในบรรดาการดำเนินการที่คุณสามารถทำได้ง่ายๆ โดยใช้ DSC ของ PowerShell เราขอเตือนคุณเกี่ยวกับ:

  • ปรับใช้โครงร่างการกำหนดค่าต่างๆ โดยใช้โมเดลแบบผลักหรือดึง
  • ออกแบบสคริปต์ที่กำหนดเองและการกำหนดค่าที่เปิดเผยซึ่งคุณสามารถใช้สำหรับการปรับใช้ซ้ำในสภาพแวดล้อมของคุณ
  • บังคับใช้โครงร่างการกำหนดค่าต่างๆ
  • รายงานการกำหนดค่าดริฟท์

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

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

  • เครื่องมือการจัดการ Windows
  • .NET Framework API
  • พร้อมรับคำสั่ง
  • Windows Component Object Model
  • คำสั่ง PowerShell

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

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

เป็นมูลค่าการกล่าวขวัญว่า PowerShell เป็นแบบข้ามแพลตฟอร์มและโอเพ่นซอร์ส ซึ่งหมายความว่าคุณยังสามารถใช้กับระบบอื่น ๆ เช่น Mac หรือ Linux ได้โดยไม่ต้องใช้กลอุบายและเครื่องมือเสริมความเข้ากันได้ เช่น Wine หรือ Boot Camp

รายการคำสั่งพื้นฐานของ PowerShell

เราเข้าใจดีว่า PowerShell อาจดูน่ากลัวเล็กน้อย โดยเฉพาะอย่างยิ่งเมื่อคุณได้ค้นพบว่ามันเป็นมากกว่าพรอมต์คำสั่งอื่นบนคอมพิวเตอร์ของคุณ และมันรวมเอาฟีเจอร์ CMD ไว้ด้วย แต่ยังรวมถึงภาษาการเขียนโปรแกรมเฉพาะและสคริปต์ต่างๆ ที่คุณสามารถใช้เพื่อทำให้เป็นอัตโนมัติ การดำเนินการจัดการระบบ

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

นั่นคือเหตุผลที่เราได้เตรียมรายการคำสั่งพื้นฐานที่คุณสามารถใช้ได้อย่างปลอดภัยภายในเซสชัน PowerShell ของคุณเพื่อทดสอบคุณลักษณะของโปรแกรมอันทรงพลังนี้ และดูว่าคำสั่งใดทำหน้าที่อย่างแท้จริง รายการด้านล่างประกอบด้วยชื่อคำสั่ง นามแฝง และคำอธิบายสั้น ๆ ว่าแต่ละคำสั่งทำอะไร

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

ชื่อคำสั่ง นามแฝง คำอธิบาย
เพิ่มเนื้อหา ac ให้คุณผนวกเนื้อหา (เช่น คำ หรือข้อมูล) เข้ากับไฟล์
เพิ่ม-PSSnapIn asnp ช่วยคุณเพิ่ม Windows PowerShell snap-in หลายตัว
ในเซสชันปัจจุบัน
เนื้อหาที่ชัดเจน clc ล้างเนื้อหาของรายการโดยไม่ต้องลบรายการจริง
เคลียร์-ประวัติศาสตร์ clhy ล้างรายการใด ๆ และทั้งหมดจากประวัติคำสั่ง
เคลียร์-โฮสต์ แจ่มใส ล้างการแสดงผลของโปรแกรมโฮสต์
เคลียร์-โฮสต์ cls ทำแบบเดียวกับเคลียร์
เคลียร์ไอเทม คลิ ลบเนื้อหาของรายการโดยไม่ลบรายการจริง
คุณสมบัติรายการที่ชัดเจน clp ล้างค่าของคุณสมบัติโดยไม่ต้องลบคุณสมบัติจริง ๆ
ล้าง-ตัวแปร clv ลบค่าของตัวแปร
เปรียบเทียบ-Object เปรียบเทียบ ให้คุณเปรียบเทียบวัตถุสองชุด
เปรียบเทียบ-Object แตกต่าง ทำสิ่งเดียวกันกับการเปรียบเทียบ
เชื่อมต่อ-PSSession cnsn ให้คุณเชื่อมต่อใหม่กับเซสชันที่คุณตัดการเชื่อมต่อจาก
แปลงเส้นทาง cvpa ให้คุณแปลงเส้นทาง Windows
PowerShell เป็นเส้นทางผู้ให้บริการWindows PowerShell
คัดลอกรายการ สำเนา ช่วยให้คุณคัดลอกรายการจากตำแหน่งเฉพาะไปยังอีกที่หนึ่ง
คัดลอกรายการ cp ทำแบบเดียวกับสำเนา
คัดลอกรายการ cpi ทำสิ่งเดียวกับการคัดลอกและcp
Copy-ItemProperty cpp ให้คุณคัดลอกค่าและคุณสมบัติจากตำแหน่งที่กำหนดไปยังตำแหน่ง
อื่น
ปิดการใช้งาน-PSBreakpoint dbp ช่วยคุณปิดการใช้งานเบรกพอยต์ในคอนโซลปัจจุบัน
ตัดการเชื่อมต่อ-PSSession dnsn ตัดการเชื่อมต่อคุณจากเซสชันปัจจุบัน
เปิดใช้งาน-PSBreakpoint ebp ให้คุณเปิดใช้งานเบรกพอยต์ในคอนโซลปัจจุบัน
Enter-PSSession etsn ช่วยคุณเปิดเซสชันแบบโต้ตอบด้วยอุปกรณ์ระยะไกล
ออก-PSSession exsn ยุติเซสชันแบบโต้ตอบด้วยอุปกรณ์ระยะไกล
ส่งออก-นามแฝง epal ให้คุณส่งออกข้อมูลเกี่ยวกับนามแฝงที่กำหนดไว้ในปัจจุบัน
ไปยังไฟล์เอาต์พุต
ส่งออก-Csv epcsv ให้คุณแปลงออบเจ็กต์เป็น
สตริงที่คั่นด้วยเครื่องหมายจุลภาค (CSV) หลายรายการและส่งออกสตริงไปยังเอกสาร CSV
ส่งออก-PSSession epsn นำเข้าคำสั่งจากเซสชันอื่นและส่งออกไปยัง
โมดูล Windows PowerShell
สำหรับแต่ละวัตถุ % ดำเนินการเฉพาะกับแต่ละรายการที่มีอยู่
ในคอลเลกชันของวัตถุอินพุต
สำหรับแต่ละวัตถุ แต่ละ ทำสิ่งเดียวกับ%
รูปแบบ-กำหนดเอง fc ช่วยให้คุณใช้มุมมองที่กำหนดเองเพื่อจัดรูปแบบผลลัพธ์
รูปแบบ-รายการ ฟล ให้คุณจัดรูปแบบเอาต์พุตเป็นรายการคุณสมบัติโดยที่แต่ละคุณสมบัติ
วางอยู่บนบรรทัดใหม่
รูปแบบ-ตาราง ฟุต ให้คุณจัดรูปแบบผลลัพธ์เป็นตาราง
รูปแบบกว้าง fw ช่วยคุณจัดรูปแบบวัตถุเป็นตารางกว้าง โดยจะแสดงคุณสมบัติของ
แต่ละวัตถุเพียงรายการเดียว
รับ-นามแฝง gal เรียกชื่อแทนคุณสำหรับเซสชันปัจจุบันของคุณ
รับ-ChildItem dir ดึงรายการไฟล์และโฟลเดอร์ทั้งหมดในไดรฟ์ระบบไฟล์
รับ-ChildItem gci ทำแบบเดียวกับdir
รับ-ChildItem ลส ทำสิ่งเดียวกับdirและgci
รับคำสั่ง gcm เรียกรายการคำสั่งทั้งหมดที่คุณสามารถใช้ได้
รับเนื้อหา แมว แสดงเนื้อหาของไฟล์
รับเนื้อหา gc ทำแบบเดียวกับแมว
รับประวัติ gy เรียกรายการคำสั่งทั้งหมดที่คุณป้อนระหว่างเซสชันปัจจุบันของคุณ
รับประวัติ ชม ทำแบบเดียวกับghy
รับประวัติ ประวัติศาสตร์ ทำแบบเดียวกับghyและh
รับไอเทม จิ ให้คุณดึงไฟล์และโฟลเดอร์
Get-ItemProperty gp ดึงคุณสมบัติของรายการที่คุณระบุ
รับงาน gjb ดึงรายการงานพื้นหลัง Windows PowerShell ทั้งหมดที่
กำลังทำงานอยู่ในเซสชันของคุณ
รับตำแหน่ง gl ดึงข้อมูลเกี่ยวกับตำแหน่งปัจจุบันของคุณหรือตำแหน่งที่ทำงาน
รับตำแหน่ง pwd ทำแบบเดียวกับgl
รับสมาชิก gm ดึงคุณสมบัติและวิธีการทั้งหมดของวัตถุที่ระบุ
รับโมดูล จีเอ็มโอ ดึงรายการของโมดูลที่นำเข้าหรือโมดูลที่สามารถนำเข้าสู่
เซสชันปัจจุบันได้
รับกระบวนการ จีพีเอส ดึงรายการกระบวนการทั้งหมดที่ทำงานอยู่ในเครื่องหรือบน
คอมพิวเตอร์ระยะไกล
รับกระบวนการ ปล ทำแบบเดียวกับgps
รับ PSBreakpoint gbp ดึงเบรกพอยต์ทั้งหมดที่ตั้งไว้ในเซสชันปัจจุบันของคุณ
รับ-PSCallStack gcs แสดงสแต็กการโทรปัจจุบันของคุณ
รับ PSDrive gdr ดึงข้อมูลไดรฟ์ในเซสชันปัจจุบันของคุณ
รับ PSSession gsn ดึงรายการของเซสชัน Windows PowerShell ในพื้นที่และระยะไกล
รับ PSSnapIn gsnp ดึงรายการสแน็ปอิน Windows PowerShell ทั้งหมดบนคอมพิวเตอร์
รับ-บริการ gsv แสดงรายการบริการทั้งหมดบนคอมพิวเตอร์ในพื้นที่หรือระยะไกล
รับที่ไม่ซ้ำกัน gu ดึงรายการที่ไม่ซ้ำจากรายการที่จัดเรียง
รับตัวแปร gv แสดงรายการตัวแปรทั้งหมดในคอนโซลปัจจุบัน
รับ WmiObject gwmi เรียก
อินสแตนซ์คลาส Windows Management Instrumentation (WMI) หรือข้อมูลเกี่ยวกับคลาสที่มีอยู่
กลุ่มวัตถุ กลุ่ม ให้คุณจัดกลุ่มออบเจ็กต์ที่มีค่าเดียวกันสำหรับคุณสมบัติ
ที่คุณระบุ
ช่วย ชาย แสดงรายละเอียดเพิ่มเติมเกี่ยวกับคำสั่งและ
แนวคิดของWindows PowerShell
นำเข้า-นามแฝง ipal ให้คุณนำเข้ารายชื่อนามแฝงจากไฟล์
นำเข้า-Csv ipcsv สร้างออบเจ็กต์แบบกำหนดเองที่เหมือนตารางโดยใช้รายการทั้งหมดที่อยู่ใน
ไฟล์ CSV
นำเข้าโมดูล ipmo นำเข้าโมดูลไปยังเซสชันปัจจุบันของคุณ
นำเข้า-PSSes sion ipsn นำเข้าคำสั่งจากเซสชันอื่นไปยังเซสชันปัจจุบันของคุณ
เรียกใช้คำสั่ง icm ให้คุณรันคำสั่งบนคอมพิวเตอร์ท้องถิ่นและคอมพิวเตอร์ระยะไกล
เรียกนิพจน์ iex ให้คุณรันคำสั่งหรือนิพจน์บนเครื่องคอมพิวเตอร์
เรียกประวัติศาสตร์ อิฮยี ดำเนินการคำสั่งจากประวัติเซสชันของคุณ
เรียกประวัติศาสตร์ r ทำสิ่งเดียวกับihy
เรียกไอเทม ii ดำเนินการเริ่มต้นกับรายการที่ระบุ
Invoke-RestMethod irm ส่งคำขอ HTTP หรือ HTTPS ไปยังบริการเว็บ RESTful
Invoke-WebRequest ขด ดึงเนื้อหาจากหน้าเว็บบนอินเทอร์เน็ต
Invoke-WebRequest iwr ทำแบบเดียวกับcurl
เรียกใช้-WMIMethod iwmi ให้คุณเรียก
เมธอดWindows Management Instrumentation (WMI) ได้
วัด-วัตถุ วัด กำหนดคุณสมบัติตัวเลขของวัตถุ เช่นเดียวกับคำ
บรรทัด และอักขระในวัตถุสตริง
mkdir md สร้างรายการใหม่ (ไดเร็กทอรี)
ย้ายรายการ มิ ให้คุณย้ายรายการจากตำแหน่งเฉพาะไปยังตำแหน่งอื่นได้
ย้ายรายการ เคลื่อนไหว ทำแบบเดียวกับmi
ย้ายรายการ mv Does the same thing as mi and move
Move-ItemProperty mp Allows you to move a property from a specific location to a different one
New-Alias nal Allows you to create a new alias
New-Item ni Lets you create a new item
New-Module nmo Generates a new dynamic module that exists only in memory
New-PSDrive mount Allows you to create temporary and persistent mapped network drives
New-PSDrive ndr Does the same thing as mount
New-PSSession nsn Establishes a persistent connection to a local or remote computer
New-PSSessionConfigurationFile npssc Creates a session configuration file
New-Variable nv Lets you create a new variable
Out-GridView ogv Allows you to send output to an interactive table in a separate window
Out-Host oh Sends the output to the command line (CMD)
Out-Printer lp Lets you send the output to a printer
Pop-Location popd Modifies your current location to the location that was pushed to the
stack most recently. You can use the Push-Locationcmdlet (pushd) to
pop the location either its default stack or from a stack that you create.
powershell_ise.exe ise Displays an explanation on how you can use the PowerShell_ISE.exe
command-line tool
Push-Location pushd Appends the current location to the top of a location stack
Receive-Job rcjb Fetches the results of current session Windows PowerShell background
jobs
Receive-PSSession rcsn Retrieves results of commands from disconnected sessions
Remove-Item del Removes files and folders
Remove-Item erase Does the same thing as del
Remove-Item rd Does the same thing as del and erase
Remove-Item ri Does the same thing as del, erase and rd
Remove-Item rm Does the same thing as del, erase, rd, and ri
Remove-Item rmdir Deletes folders
Remove-ItemProperty rp Allows you to delete a property and its value from a given item
Remove-Job rjb Lets you delete a Windows PowerShell background job
Remove-Module rmo Helps you remove modules from your current session
Remove-PSBreakpoint rbp Lets you remove breakpoints from the current console
Remove-PSDrive rdr Removes temporary Windows PowerShell drives, as well as disconnects
mapped network drives
Remove-PSSession rsn Lets you close one or more Windows PowerShell sessions (PSSessions)
Remove-PSSnapin rsnp Enables you to remove Windows PowerShell snap-ins from your current
session
Remove-Variable rv Clears a variable and its value
Remove-WMIObject rwmi Lets you delete an instance of an existing Windows Management
Instrumentation (WMI) class
Rename-Item ren Helps you rename an item in a Windows PowerShell provider namespace
Rename-Item rni Does the same thing as ren
Rename-ItemProperty rnp Enables you to rename an item’s property
Resolve-Path rvpa Resolves wildcard characters in a path, as well as displays the contents
of the path
Resume-Job rujb Helps you restart a job that was suspended
Select-Object select Lets you select objects as well as their properties
Set-Alias sal Lets you create or change a cmdlet’s or command element’s alias
(alternate name) in the current Windows PowerShell session
Set-Content sc Allows you to replace a file’s contents with contents that you specify.
Set-Item si Changes an item’s value to a value that’s specified in the command
Set-Location cd Lets you set your current working location to a specified location (changes
the active location)
Set-Location chdir Does the same thing as cd
Set-PSBreakpoint sbp Lets you set a breakpoint on a command, variable, or line
Set-Variable set Enables you to set a variable’s value or generates a variable if one with
the requested name does not exist
Show-Command shcm Displays a list of Windows PowerShell commands in a graphical
command window
Start-Job sajb Starts a background job in Windows PowerShell
Start-Process saps Launches one or more local processes
Start-Service sasv Lets you start one or more stopped services
Stop-Process kill Helps you stop one or more running processes
Where-Object ? Enables you to select certain objects from a collection based on their
property values
Write-Output echo Allows you to send an object to the next command in the pipeline. If it
reaches the last command in the pipeline, the command will display
the objects in the console

Don’t let the sheer amount of basic PowerShell commands intimidate you. Although we called them basic, there’s absolutely no need for you to start memorizing them. In fact, that’s the exact reason why we created the table above so that you can go on about your work without worrying about having to remember each and every command we mentioned above.

You can use it as a quick refresher or even use your browser’s search feature to locate a specific command, its alias, and what it does if you’re confused. Although we already included this piece of information in the table above, if you’re ever confused while working in PowerShell, using the help command will display a few helpful details on how you can use this program and its commands more efficiently.

You can also pair the help command with another command or alias if you want more details about that specific command. For instance, this is what PowerShell displays when you type help Add-Computer:

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

However, you can use help with any other of the commands or their aliases in our table above. Make sure you understand that the same command can have multiple aliases, which means that you can achieve the same result by using various aliases. Although this may sound confusing, it actually gives you plenty of flexibility in case you can’t remember one command alias, but you remember another one that can help you achieve the same goal.

Using PowerShell

Naturally, the first thing you’d want to do is locate PowerShell and launch it. One sure way to launch PowerShell from just about anywhere you are on your PC is to hold down the Shift button on your keyboard, right-click any empty spot on your screen (not a menu, icon, button, or similar object), and select Open PowerShell window here from the context menu.

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

ใน Windows เวอร์ชันเก่า คุณจะต้องค้นหาตำแหน่งไฟล์สั่งการของ PowerShell ด้วยตนเอง ซึ่งคุณจะพบได้ในโฟลเดอร์ Accessories หรือ System ในเมนู Start นอกจากนี้ การดูว่าระบบที่เก่ากว่า (เช่น Windows 7) ไม่ได้ให้ PowerShell แก่คุณโดยค่าเริ่มต้นอย่างไร คุณจะต้องติดตั้ง PowerShell บนคอมพิวเตอร์ของคุณพร้อมกับการขึ้นต่อกันทั้งหมด

สังเกตว่าการเปิดใช้ PowerShell จาก  เมนูStartจะตั้งค่าไดเร็กทอรีการทำงานที่ใช้งานอยู่เป็นC:\Users\[your username here]. จากการเปรียบเทียบ การใช้วิธีการ Shift + คลิกขวาที่เรานำเสนอข้างต้นจะตั้งค่าไดเรกทอรีที่ใช้งานอยู่ของ PowerShell เป็นไดเรกทอรีที่คุณอยู่ในปัจจุบันเมื่อคุณวางไข่คอนโซล ตัวอย่างเช่น หากคุณใช้ Shift + คลิกขวาและเปิด PowerShell จากเดสก์ท็อป คุณจะสังเกตเห็นว่าไดเรกทอรีที่ใช้งานอยู่จะเป็นC:\Users\[your username here]\Desktop. ด้วยเหตุผลที่ชัดเจน[your username here]ส่วนหนึ่งจะแตกต่างกันไปตามชื่อผู้ใช้ของคุณ

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

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

วิธีใช้ cmdlets

เราใช้คำว่า  cmdlets มาบ้างแล้วในคำแนะนำของเรา ดังนั้นคุณอาจสงสัยว่ามันหมายถึงอะไร ในการเริ่มต้นตั้งแต่ต้น คุณควรเตือนคุณว่า CMD ทำงานร่วมกับคำสั่งต่างๆ ได้ cmdlet ซึ่งออกเสียงว่า command-let ก็เป็นคำสั่งเช่นกัน แต่ต่างจากคำสั่ง CMD ทั่วไป cmdlet นั้นเฉพาะสำหรับ PowerShell และให้คุณดำเนินการเฉพาะอย่างเดียว เช่น การคัดลอกไฟล์ การย้ายรายการจากที่หนึ่งไปยังอีกที่หนึ่ง การเปลี่ยนรายการที่ใช้งานอยู่ ไดเร็กทอรีหรือดูเนื้อหาของรายการ

พูดง่ายๆ คือ cmdlets เป็นคำสั่งฟังก์ชันเดียวที่คุณสามารถพิมพ์ลงในบรรทัดคำสั่งของ PowerShell ได้โดยตรง หากคุณเคยมีประสบการณ์กับ CMD มาก่อน คุณจะพบว่า PowerShell ค่อนข้างใช้งานง่าย สิ่งที่น่าสนใจอย่างหนึ่งเกี่ยวกับ PowerShell ก็คือมันแชร์คำสั่งต่างๆ มากมายกับ CMD ดังนั้น การใช้ซีดีกับ PowerShell จะยังคงเปลี่ยนไดเรกทอรีที่ใช้งานอยู่ของคุณ DIR จะยังคงแสดงเนื้อหาของโฟลเดอร์ปัจจุบัน และ CP จะยังให้คุณคัดลอกรายการจากที่หนึ่งไปยังอีกที่หนึ่งได้

เป็นเรื่องที่ควรค่าแก่การกล่าวไว้ว่า PowerShell ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ซึ่งแตกต่างจากเชลล์อื่นๆ ซึ่งส่งคืนข้อผิดพลาดหากคุณพลาดการใช้ตัวพิมพ์ที่ถูกต้องเมื่อพิมพ์คำสั่งของคุณ ดังนั้นcopy-item  จะทำงานได้ดีพอๆ กับCopy-Itemและหากคุณจำทั้งสองสิ่งนี้ไม่ได้ คุณสามารถใช้  Copy , CPและ  CPI ได้ (แต่ยังคัดลอก , COPY , cpหรือcpi )

PowerShell cmdlet ส่วนใหญ่เขียนด้วย C # และสร้างขึ้นเป็นพิเศษเพื่อดำเนินการที่จะส่งคืนอ็อบเจ็กต์ .NET เป็นผลลัพธ์ ในขณะนี้ คุณสามารถค้นหา cmdlets มากกว่าสองร้อยรายการที่คุณสามารถใช้ได้ใน PowerShell ซึ่งให้ความยุติธรรม ให้คุณมากกว่าพื้นที่ศอกเล็กๆ น้อยๆ ตราบใดที่การดำเนินการดำเนินไป

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

อย่างไรก็ตาม หากคุณไม่ต้องการบุ๊กมาร์กบทความนี้เพื่อใช้ในภายหลัง คุณยังสามารถพิมพ์  Get-Command cmdlet ใน PowerShell หรือ  gcmได้หากต้องการพูดสั้นๆ การทำเช่นนั้นจะแสดงรายการคำสั่งทั้งหมดที่คุณสามารถใช้ได้ และคุณสามารถใช้รายการนั้นเพื่อวางแผนล่วงหน้ากับสิ่งที่คุณพยายามจะทำ

กำลังปลดล็อก cmdlets ที่กำหนดเอง

ข้อเสีย Microsoft ไม่เพียงแต่ให้คุณเข้าถึงอาร์เรย์ของ cmdlet ทั้งหมดที่คุณสามารถใช้ได้ใน PowerShell โดยค่าเริ่มต้น ดังนั้นคุณจะต้องข้ามผ่านห่วงพิเศษจำนวนมากเพื่อปลดล็อกคุณลักษณะนี้และใช้งานได้ที่ เวลาว่าง. ข่าวดีก็คือกระบวนการปลดล็อคใช้เวลาไม่นาน และจากนั้นก็มีข้อเท็จจริงที่สามารถทำได้ผ่าน PowerShell ด้วย ซึ่งจะเป็นแนวทางปฏิบัติที่ยอดเยี่ยมสำหรับคุณ โดยไม่ต้องกังวลใจอีกต่อไป มาดูกันว่าคุณจะปลดล็อกสิทธิ์ cmdlets ที่กำหนดเองใน PowerShell ได้อย่างไร

  1. ลงชื่อเข้าใช้บัญชีผู้ดูแลระบบ (จะไม่ทำงานหากไม่มีสิทธิ์ของผู้ดูแลระบบ)
  2. เปิด PowerShell ด้วยสิทธิ์ของผู้ดูแลระบบ (เรียกใช้ในฐานะผู้ดูแลระบบ)
  3. พิมพ์คำสั่งต่อไปนี้ใน PowerShell แล้วกด Enter:
    • Set-ExecutionPolicy
  4. หากทำถูกต้อง PowerShell จะแจ้งให้คุณทราบโดยขอให้คุณระบุค่า ExecutionPolicy ใหม่
  5. พิมพ์RemoteSignedพรอมต์คำสั่ง PowerShell แล้วกด Enter
  6. PowerShell จะแจ้งให้คุณทราบล่วงหน้าเกี่ยวกับความเสี่ยงในการแก้ไขค่าของ ExecutionPolicy
  7. พิมพ์  Yแล้วกดปุ่ม Enterแผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ
  8. หากคุณต้องการปิด cmdlets ที่กำหนดเอง เพียงทำตามขั้นตอนที่ 1-4และเมื่อ PowerShell ขอให้คุณพิมพ์ค่า ให้พิมพ์Restrictedและยืนยันตัวเลือกของคุณเหมือนที่ทำในขั้นตอนที่ 7

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

  • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

โดยปกติ คุณจะต้องยืนยันตัวเลือกของคุณโดยพิมพ์  Yแล้วกด Enter บนแป้นพิมพ์ แต่คุณเพิ่งข้ามขั้นตอนและดำเนินการหลายอย่างพร้อมกัน นี่คือเหตุผลที่ผู้ใช้ PowerShell ขั้นสูงสร้างสคริปต์การทำงานอัตโนมัติเพื่อดำเนินการจัดการต่างๆ โดยอัตโนมัติ เพื่อประหยัดเวลาและความยุ่งยาก หากต้องการ คุณสามารถใช้คำสั่งเดียวกันด้านบนเพื่อปิดใช้งาน cmdlet ที่กำหนดเองบนระบบของคุณได้ แต่คุณจะต้องแทนที่RemoteSignedด้วยRestrictedและยืนยันตัวเลือกของคุณในตอนท้าย

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

ดู? PowerShell เริ่มเข้าถึงได้ง่ายกว่าเมื่อไม่กี่นาทีก่อน

วิธีสร้างและใช้สคริปต์ใน PowerShell

ดังที่เราได้กล่าวไปแล้วและเรามั่นใจว่าคุณจำได้ คุณสามารถใช้ PowerShell เพื่อเรียกใช้สคริปต์การทำงานอัตโนมัติได้ อย่างไรก็ตาม คุณไม่สามารถตะโกนใส่ PowerShell ได้อย่างเดียวว่า "เฮ้ สร้างสคริปต์ให้ฉันหน่อย!" และคาดหวังว่ามันจะได้ผลอย่างน่าอัศจรรย์ ดังนั้น คุณจะต้องใส่น้ำมันข้อศอกและทำมันด้วยตัวเอง แม้ว่าตอนนี้อาจฟังดูไม่สะดวก แต่เชื่อเราเถอะ คุณจะรู้สึกขอบคุณในระยะยาว เมื่อพิจารณาถึงงานทั้งหมดที่คุณไม่ต้องทำอีกต่อไป

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

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

Write-host "Please enter your name:"

$Name = read-host

"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"

ตอนนี้สำหรับส่วนการสร้างจริง:

  1. เรียกใช้ Notepad (หรือโปรแกรมแก้ไขข้อความอื่น ๆ สำหรับเรื่องนั้น)
  2. คัดลอกโค้ดด้านบน (สคริปต์ที่คุณจะสร้างและเรียกใช้)
  3. วางลงในเอกสาร Notepad ใหม่ของคุณ
  4. ใช้ CTRL + S เพื่อบันทึกเอกสาร
  5. พิมพ์  script.ps1เป็นชื่อไฟล์
  6. บันทึกไฟล์ในที่ที่สามารถเข้าถึงได้
  7. เปิดอินสแตนซ์ PowerShell ด้วยสิทธิ์ของผู้ดูแลระบบ (สำคัญมาก)
  8. ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานสคริปต์ที่กำหนดเองในระบบของคุณ (ตรวจสอบหัวข้อด้านบน)
  9. นำทางไปยังตำแหน่งที่คุณบันทึกสคริปต์
  10. พิมพ์เส้นทางแบบเต็มของสคริปต์เพื่อเรียกใช้
    • ตัวอย่างเช่น หากสคริปต์ของคุณอยู่ในโฟลเดอร์สคริปต์ในไดรฟ์ C คำสั่งของคุณจะเป็น C:\Scripts\script.ps1
    • หรือคุณสามารถนำทางไปยังตำแหน่งของสคริปต์และใช้คำสั่งนี้เพื่อเรียกใช้: .\script.ps1

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

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

ฉันจะสำรองฐานข้อมูล SQL ด้วย PowerShell ได้อย่างไร

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

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

ในบรรดาความสามารถของคำสั่ง Backup-SqlDatabase คุณสามารถค้นหาการสำรองฐานข้อมูลแบบเต็ม การสำรองไฟล์ฐานข้อมูล ตลอดจนการสำรองบันทึกธุรกรรม ดังนั้นคุณจึงมีแพ็คเกจทั้งหมดภายในเครื่องมือบรรทัดคำสั่งเดียว ตามค่าเริ่มต้น การใช้คำสั่งนี้จะทำการสำรองข้อมูลฐานข้อมูลทั้งหมด ดังนั้น คุณจะต้องระบุว่าต้องการให้ทำตามกฎชุดใดชุดหนึ่งโดยใช้พารามิเตอร์BackupFile

โปรดทราบว่า PowerShell บางเวอร์ชันจะไม่แสดงคำสั่งนี้โดยค่าเริ่มต้น ดังนั้นคุณจะต้องนำเข้าหรือติดตั้ง ข่าวดีก็คือการติดตั้งโมดูล SQL นั้นไม่ใช่วิทยาศาสตร์จรวดอย่างแน่นอน และแม้แต่มือใหม่ก็สามารถทำได้ สิ่งที่คุณต้องทำหากคุณไม่สามารถใช้คำสั่ง Backup-SqlDatabase ในเซสชัน PowerShell ได้:

  1. เปิด PowerShell ด้วยสิทธิ์ของผู้ดูแลระบบ
  2. พิมพ์คำสั่งต่อไปนี้:
    • install-module sqlserver
  3. เมื่อระบบขอให้ยืนยันการกระทำของคุณ ให้พิมพ์Yแล้วกดEnterบนแป้นพิมพ์
  4. ยืนยันที่เก็บที่ไม่น่าเชื่อถืออีกครั้งโดยพิมพ์YและEnterแผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ
  5. เมื่อการติดตั้งเสร็จสิ้น ให้พิมพ์คำสั่งต่อไปนี้:
    • import-module sqlserver
  6. ลองรันคำสั่ง Backup-SqlDatabase โดยพิมพ์คำสั่งใน PowerShell command-line
    • หากใช้งานได้ คุณจะเห็นว่า PowerShell กำลังขอให้คุณระบุค่าสำหรับพารามิเตอร์บางตัว
    • หากไม่ได้ผล ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าการอนุญาตของ PowerShell เพื่ออนุญาตให้เรียกใช้สคริปต์ที่กำหนดเอง

1. สำรองฐานข้อมูล SQL ให้สมบูรณ์

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"

คำสั่งที่เราได้ยกตัวอย่างข้างต้นจะสร้างการสำรองฐานข้อมูลเต็มรูปแบบของฐานข้อมูลที่เรียกว่า TipsWebTech360 และบันทึกลงในตำแหน่งสำรองเริ่มต้นของอินสแตนซ์เซิร์ฟเวอร์ “Computer\Instance” เป็น 'Tips.WebTech360.bak'

2. ทำการสำรองฐานข้อมูลตามตำแหน่ง

  • Set-Location "SQLSERVER:\SQL\Computer\Instance"
  • PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"

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

การดำเนินการนี้จะสร้างการสำรองข้อมูลเต็มรูปแบบของฐานข้อมูลที่เรียกว่าTips.WebTech360และส่งออกเป็นไฟล์ 'Tips.WebTech360.bak' ในตำแหน่งเริ่มต้นของอินสแตนซ์เซิร์ฟเวอร์ที่คุณเชื่อมต่ออยู่

3. ทำการสำรองข้อมูลบันทึกธุรกรรม

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log

หากคุณต้องการสำรองบันทึกธุรกรรมของฐานข้อมูลเฉพาะ PowerShell ยังสามารถช่วยคุณทำสิ่งนั้นได้ด้วยคำสั่งเดียว คุณสามารถป้อนข้อมูลโดยตรงในอินเทอร์เฟซบรรทัดคำสั่ง คำสั่งด้านบนจะสร้างสำเนาสำรองของบันทึกธุรกรรมของฐานข้อมูล 'Tips.WebTech360' และส่งออกไปยังตำแหน่งเริ่มต้นของอินสแตนซ์เซิร์ฟเวอร์ 'Computer\Instance' เป็นไฟล์ชื่อ 'Tips.WebTech360.trn'

4. สร้างการสำรองข้อมูลฐานข้อมูล SQL ที่เข้ารหัส

  • $EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
  • Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption

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

ตัวอย่างข้างต้นจะสร้างสำเนาสำรองของฐานข้อมูล 'Tips.WebTech360' เข้ารหัสด้วยการเข้ารหัส AES-256 และใบรับรองเซิร์ฟเวอร์ บีบอัด และบันทึกไฟล์ 'Tips.WebTech360.bak' ที่เป็นผลลัพธ์บนตำแหน่งสำรองเริ่มต้นของอินสแตนซ์ของเซิร์ฟเวอร์ สิ่งนี้ค่อนข้างสำคัญหากคุณวางแผนการย้ายข้อมูล และไม่มีวิธีที่แน่นอนในการขนส่งไฟล์สำรองทั้งหมดโดยไม่ต้องเสี่ยงกับการแยกไฟล์ใดไฟล์หนึ่งออกจากกัน

5. ทำการสำรองข้อมูลบนฐานข้อมูลทั้งหมดในอินสแตนซ์ของเซิร์ฟเวอร์

  • Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase

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

คำสั่งด้านบนจะสำรองข้อมูลฐานข้อมูลทั้งหมดที่อยู่ในอินสแตนซ์เซิร์ฟเวอร์ 'Computer\Instance' และส่งออกไฟล์ผลลัพธ์ไปยังตำแหน่งสำรองเริ่มต้นบนอินสแตนซ์เซิร์ฟเวอร์เดียวกัน ชื่อของไฟล์สำรองจะถูกสร้างขึ้นโดยอัตโนมัติตามฐานข้อมูลที่เกี่ยวข้องของแต่ละรายการตามด้วยนามสกุล BAK (เช่น .bak)

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

ตัวอย่างเช่น คุณจะต้องเปลี่ยนพารามิเตอร์ 'คอมพิวเตอร์\อินสแตนซ์' เพื่อให้ตรงกับอินสแตนซ์เซิร์ฟเวอร์ของคุณเอง และแก้ไขชื่อฐานข้อมูลของคุณเพื่อให้สะท้อนถึงชื่อฐานข้อมูลของคุณเอง จำไว้ว่าคุณสามารถเปลี่ยนไปใช้  คำสั่งhelpใน PowerShell ได้เสมอ หากคุณรู้สึกว่าคำสั่งที่คุณกำลังพยายามเรียกใช้นั้นสร้างความสับสนหรือไม่ทำงานตามที่ควรจะเป็น

คำสั่ง PowerShell ที่ต้องรู้

1. รับความช่วยเหลือ

เราไม่สามารถเน้นเรื่องนี้ได้เพียงพอ แต่  คำสั่งGet-Help ควรเป็นคำสั่งแรกที่คุณเคยเรียนรู้ เนื่องจากอาจนำคุณออกจากสถานการณ์ที่ติดขัดมากมาย ซึ่งคุณไม่แน่ใจว่าคุณกำลังใช้คำสั่งที่ถูกต้องหรือไม่ หรือสิ่งที่คุณทำได้ด้วยคำสั่งที่คุณพยายามปรับใช้

เมื่อคุณได้ติดตั้งโมดูลsqlserverบนระบบของคุณแล้ว คุณสามารถลองใช้คำสั่งGet-Help ได้เลยและดูว่าBackup-SqlDatabaseทำงานอย่างไร เพียงพิมพ์  Get-Help Backup-SqlDatabaseในบรรทัดคำสั่งของ PowerShell และฝึกฝนทักษะการสำรองข้อมูลฐานข้อมูล PowerShell SQL ของคุณ

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

โปรดทราบว่าหากคุณเพิ่งติดตั้งโมดูลsqlserverบนระบบของคุณ ฐานข้อมูลวิธีใช้อาจยังล้าสมัยอยู่ และคุณอาจต้องเรียกใช้การอัปเดตในฐานข้อมูลเพื่อให้สามารถติดตามสคริปต์ใหม่ได้ ตามค่าเริ่มต้น PowerShell จะตรวจพบว่าเนื้อหาที่คุณพยายามเข้าถึงนั้นมีให้ทางออนไลน์ แต่คุณไม่สามารถเข้าถึงเนื้อหาดังกล่าวในเครื่องได้ และยังเสนอให้อัปเดตฐานข้อมูลให้คุณด้วย ในกรณีนี้ สิ่งที่คุณต้องทำคือพิมพ์ Y เมื่อได้รับแจ้งและกดปุ่มEnterบนแป้นพิมพ์ของคุณ

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

2. รับกระบวนการ

Get-Processเป็นสิ่งสำคัญยิ่ง หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับระบบที่คุณกำลังดำเนินการอยู่ เพื่อให้เฉพาะเจาะจงมากขึ้น แม้ว่าคุณอาจเดาได้ว่าคำสั่งนี้ทำอะไรอยู่แล้วโดยเพียงแค่ดูที่คำสั่ง Get-Process จะแสดงรายการกระบวนการทั้งหมดที่กำลังทำงานอยู่บนระบบที่คุณกำลังทำงานอยู่

ตามค่าเริ่มต้น Get-Process จะดึงรายการของทุกกระบวนการที่ทำงานอยู่บนระบบปัจจุบันที่คุณกำลังทำงานอยู่ ดังนั้นคุณอาจต้องเพิ่มพารามิเตอร์พิเศษบางตัวต่อท้ายคำสั่งนี้ ถ้าคุณต้องการข้อมูลที่เฉพาะเจาะจงมากขึ้นและจำกัดรายการผลลัพธ์ให้แคบลง ลองดูในภาพหน้าจอด้านล่างว่าคุณจะได้อะไรเมื่อเรียกใช้คำสั่งGet-Processด้วยตัวเอง เทียบกับลักษณะที่คุณกำหนดและจัดรูปแบบผลลัพธ์ให้เฉพาะเจาะจงมากขึ้น

  • Get-Process

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

  • Get-Process explorer | Format-List *

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

คำสั่งที่สองสามารถปรับแต่งเพื่อแสดงรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการที่ใช้งานอยู่ในระบบของคุณ คุณสามารถแทนที่  explorerด้วย  svchostหรือ  Chromeหรือกระบวนการทำงานอื่น ๆ ในระบบของคุณที่คุณสนใจ ดังที่เราได้กล่าวไว้ข้างต้น การใช้Get-Processes เพียงอย่างเดียวสามารถช่วยคุณได้ (เช่น การค้นหารายการกระบวนการที่ทำงานอยู่ทั้งหมด ).

3. หยุดกระบวนการ

คำสั่งนี้อธิบายตนเองได้ค่อนข้างดี เนื่องจากคุณอาจทราบแล้วว่าคำสั่งนี้สามารถช่วยคุณหยุดกระบวนการที่กำลังทำงานอยู่บนระบบของคุณได้ สาเหตุที่พบบ่อยที่สุดในการทำเช่นนั้นจาก PowerShell และไม่ใช่โดยใช้ Windows Task Manager คือบางครั้งกระบวนการสามารถหยุดทำงานและทำให้แอป GUI ใช้งานได้แทบจะไม่

ผู้ใช้ PowerShell สามารถระบุกระบวนการที่ลำบากได้อย่างง่ายดายโดยใช้คำสั่งGet-Process ที่เราได้อธิบายไว้ก่อนหน้านี้ จากนั้นจึงใช้  Stop-Processเพื่อยุติกระบวนการ ซึ่งจะทำให้ระบบไม่อุดตัน การรัน  Stop-Processด้วยตัวเอง (โดยไม่มีพารามิเตอร์เพิ่มเติม) ในอินเทอร์เฟซบรรทัดคำสั่ง PowerShell ของคุณจะแจ้งให้คุณป้อน ID ของกระบวนการที่คุณพยายามจะยุติ 

อย่างไรก็ตาม คุณสามารถยุติกระบวนการโดยใช้ชื่อของมันได้ (หากคุณทราบ) โดยการผนวกพารามิเตอร์-Nameเข้ากับ cmdlet เช่นในตัวอย่างด้านล่าง:

  • Stop-Process -Name "explorer"

คำสั่งด้านบนจะยุติกระบวนการ Explorer ซึ่งอาจเป็นประโยชน์โดยเฉพาะอย่างยิ่งหากมันค้างหรือขัดข้องกับคุณและปฏิเสธที่จะโหลดอย่างถูกต้อง โปรดทราบว่าคุณจะต้องใช้เครื่องหมายคำพูดเมื่อระบุชื่อของกระบวนการที่คุณพยายามจะยุติ หากกระบวนการนั้นดื้อรั้นและปฏิเสธที่จะยุติ (โดยปกติกระบวนการกวาดล้างที่สูงกว่าทำเช่นนั้น) คุณสามารถ "โน้มน้าวใจ" กระบวนการนั้นได้โดยเพิ่มพารามิเตอร์-Forceต่อท้ายคำสั่งของคุณ ตัวอย่างเช่น คุณไม่สามารถยุติกระบวนการ Explorer ของคุณได้ ในกรณีนี้ คุณสามารถพิมพ์คำสั่งด้านล่าง:

  • Stop-Process -Force -Name "explorer"

นอกจากนี้ คุณควรสังเกตว่าการใช้พารามิเตอร์-Forceในคำสั่งStop-Processของคุณจะไม่ขอคำยืนยัน ต่างจากการรันคำสั่งที่ไม่มีตัวเลือกนี้ หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ cmdlet นี้ โปรดใช้คำสั่งGet-Help

4. รับบริการ

คำสั่งนี้เป็นหนึ่งในรายการคำสั่งที่จำเป็นด้วยเหตุผลที่ดี: คำสั่งนี้สามารถแสดงรายการบริการทั้งหมดที่ติดตั้งอยู่ในระบบที่คุณกำลังใช้งานอยู่ โดยไม่คำนึงว่าพวกเขากำลังทำงานอยู่หรือไม่ เช่นเดียวกับ cmdlet อื่น ๆ คุณสามารถปรับแต่งGet-Serviceเพื่อให้ข้อมูลที่เฉพาะเจาะจงมากขึ้นแก่คุณ ไม่ว่าจะเป็นเกี่ยวกับบริการบางอย่างหรือแม้แต่การแสดงรายการบริการที่ทำงานอยู่ (หรือหยุด) ทั้งหมดในเครื่องของคุณ

คุณสามารถดำเนินการต่อและพิมพ์  Get-Serviceในบรรทัดคำสั่ง PowerShell ของคุณ การทำเช่นนั้นจะทำให้คุณมีรายชื่อบริการทั้งหมดที่มีในคอมพิวเตอร์ของคุณ รวมทั้งชื่อที่แสดงและสถานะ หากคุณผนวกคำสั่งเพิ่มเติมเข้ากับ cmdlet ดั้งเดิม คุณสามารถเปลี่ยนผลลัพธ์ได้ ทำให้แสดงเฉพาะผลลัพธ์ที่คุณสนใจ

  • Get-Service "W*"

ตัวอย่างเช่น การพิมพ์คำสั่งด้านบนจะส่งคืนรายการบริการทั้งหมดที่มีในคอมพิวเตอร์ของคุณที่ขึ้นต้นด้วยตัวอักษร 'W' อย่างไรก็ตาม คุณสามารถไปไกลกว่านี้และปรับแต่งคำสั่งของคุณเพื่อจำกัดรายการผลลัพธ์ให้แคบลงได้

  • Get-Service | Where-Object {$_.Status -eq “Running”}

คำสั่งด้านบนจะช่วยให้คุณเห็นรายการบริการทั้งหมดที่มีในคอมพิวเตอร์ของคุณซึ่งทำงานอยู่ในเวลาที่คุณเรียกใช้ cmdlet ด้วย การต่อท้าย“W*” ตามที่เราทำในตัวอย่างก่อนหน้านี้จะแสดงรายการบริการที่ทำงานอยู่ทั้งหมดบนคอมพิวเตอร์ของคุณที่ขึ้นต้นด้วยตัวอักษร 'W' และคำสั่งควรมีลักษณะดังนี้:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"}

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

5. รับบันทึกเหตุการณ์

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

ดังนั้นเราจึงสามารถสรุปได้อย่างปลอดภัยว่าคำสั่งGet-EventLog ของ PowerShell ไม่ใช่สิ่งที่คุณต้องการให้หายไปจากแถบเครื่องมือของคุณ โดยเฉพาะอย่างยิ่งหากคุณวางแผนที่จะฝึกฝนทักษะการดูแลระบบของคุณ ถ้าคุณรู้ทุกสิ่งที่จำเป็นต้องรู้เกี่ยวกับบันทึกเหตุการณ์และชื่อ คุณสามารถพิมพ์ Get-EventLog ได้โดยตรงในบรรทัดคำสั่งของ PowerShell โปรดทราบว่า PowerShell จะแจ้งให้คุณป้อนชื่อบันทึกที่คุณกำลังพยายามดู

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

  • Get-EventLog -List

กรณีการใช้งานที่ได้รับความนิยมมากที่สุดกรณีหนึ่งสำหรับบันทึกเหตุการณ์คือการตรวจสอบข้อผิดพลาด โดยเฉพาะอย่างยิ่งหากเกิดขึ้นอย่างเงียบๆ ตามมาด้วยความผิดพลาดของระบบ หรือนำไปสู่ ​​BSOD ซึ่งเราทุกคนทราบดีถึงความคลุมเครือ อย่างไรก็ตาม คุณจะต้องเจาะจงมากขึ้นกับ Get-EventLog cmdlet หากคุณต้องการจำกัดรายการผลลัพธ์ให้แคบลง ซึ่งบ่อยครั้งอาจมีขนาดใหญ่

  • Get-EventLog -LogName Security -EntryType Error

การพิมพ์คำสั่งด้านบนในอินเทอร์เฟซบรรทัดคำสั่งของ PowerShell ควรแสดงรายการข้อผิดพลาดทั้งหมดที่ลงทะเบียนไว้ในบันทึกเหตุการณ์ความปลอดภัย โปรดทราบว่าคุณสามารถใช้พารามิเตอร์ -List เพื่อดูประเภทบันทึกทั้งหมดในระบบของคุณและแทนที่Securityในคำสั่งด้านบนด้วยประเภทบันทึกอื่นๆ ที่คุณพบในรายการ ตราบใดที่ยังมีรายการมากกว่าศูนย์

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้  คำสั่งGet-EventLog ใน PowerShell อย่าลังเลที่จะใช้  คำสั่งGet-Help ที่เราได้พูดถึงในส่วนแรกของบทย่อยนี้ 

6. ConvertTo-HTML

บางครั้งเมื่อคุณใช้ PowerShell คุณอาจสะดุดกับข้อมูลบางอย่างที่คุณต้องการแยกออกมาและเก็บไว้เพื่อใช้อ้างอิงในอนาคต สร้างรายงาน หรือเพียงแค่นำเข้าจากแอปพลิเคชันอื่น วิธีหนึ่งที่ใช้บ่อยที่สุดในการดึงข้อมูลนี้จาก PowerShell และส่งออกไปยังไฟล์ภายนอกบนคอมพิวเตอร์ของคุณคือคำสั่งConvertTo-HTML 

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

ตัวอย่างเช่น หากคุณกำลังพยายามพิมพ์รายงานที่ประกอบด้วยบริการทั้งหมดที่ขึ้นต้นด้วยตัวอักษร 'W' และกำลังทำงานอยู่ในคอมพิวเตอร์ของคุณ คุณสามารถพิมพ์คำสั่งด้านล่าง:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML

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

คุณสามารถใช้ConvertTo-HTMLกับคำสั่ง PowerShell แทบทุกคำสั่ง ตราบใดที่คำสั่งที่คุณใช้เป็นแหล่งข้อมูลจะสร้างเอาต์พุต คุณสามารถลองกับ cmdlets อื่น ๆ เช่นรับกระบวนการ , Get-EventLogหรือได้รับความช่วยเหลือ โปรดทราบว่านอกเหนือจากการแปลง HTML แล้วConvertTo cmdlet ยังสามารถใช้เพื่อสร้างไฟล์ JSON, CSV และ XML ได้อีกด้วย คุณเพียงแค่ต้องแทนที่ HTML ในไวยากรณ์คำสั่งด้วยรูปแบบที่คุณสนใจ

7. ส่งออก-CSV

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

เช่นเดียวกับ ConvertTo-HTML นั้น Export-CSV จำเป็นต้องมีอินพุตที่สามารถแปลงเป็นสตริง CSV ได้ เนื่องจากไม่สามารถทำงานด้วยตัวเองได้ ดังนั้น คุณจะต้องจับคู่กับคำสั่งที่ใช้สร้างข้อมูลได้ เช่น Get-Service หรือ Get-Process ที่เราได้อธิบายไว้ก่อนหน้านี้

โดยพื้นฐานแล้ว Export-CSV ทำได้เกือบเหมือนกับ ConvertTo-HTML cmdlet ที่เราได้กล่าวถึงข้างต้น นอกเหนือจากประเด็นสำคัญอย่างหนึ่งที่ไม่ควรมองข้าม: cmdlet นี้สร้างไฟล์และบันทึกลงในคอมพิวเตอร์ของคุณจริงๆ คำสั่ง ConvertTo ซึ่งให้ผลลัพธ์เท่านั้นและให้คุณสร้างไฟล์ได้ด้วยตัวเอง

ตัวอย่างเช่น สมมติว่าคุณต้องการเปลี่ยนรายการบริการที่ทำงานบนคอมพิวเตอร์ของคุณเป็นไฟล์ CSV เพื่อให้คุณสามารถประมวลผลไฟล์เพิ่มเติมด้วยซอฟต์แวร์ของบริษัทอื่น หรือใส่ไว้ในสเปรดชีตเพื่อการอ้างอิงเพิ่มเติม สิ่งที่คุณต้องทำคือพิมพ์คำสั่ง Get-Service ตามด้วยคำสั่ง Export-CSV และระบุตำแหน่งที่คุณต้องการให้สร้างไฟล์ CSV เช่นในตัวอย่างด้านล่าง:

  • Get-Service | Export-CSV c:\Tips.WebTech360.csv

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

สูตรโกง PowerShell – บทสรุป

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

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


10 สุดยอดเครื่องมือ Ping Sweep เพื่อบอกคุณเพิ่มเติมเกี่ยวกับเครือข่ายของคุณ

10 สุดยอดเครื่องมือ Ping Sweep เพื่อบอกคุณเพิ่มเติมเกี่ยวกับเครือข่ายของคุณ

Ping Sweep สามารถใช้เพื่อประโยชน์ของคุณได้หลายวิธี อ่านต่อในขณะที่เราพูดคุยถึงวิธีการและแนะนำเครื่องมือกวาด Ping ที่ดีที่สุด 10 รายการที่คุณหาได้

6 เครื่องมือที่ดีที่สุดสำหรับการตรวจสอบเว็บไซต์

6 เครื่องมือที่ดีที่สุดสำหรับการตรวจสอบเว็บไซต์

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

6 เครื่องมือจัดการเครือข่ายที่ดีที่สุดที่ติดตามประสิทธิภาพ

6 เครื่องมือจัดการเครือข่ายที่ดีที่สุดที่ติดตามประสิทธิภาพ

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

เครื่องมือการปรับใช้ซอฟต์แวร์ที่ดีที่สุดสำหรับทีมพัฒนาในปี 2565

เครื่องมือการปรับใช้ซอฟต์แวร์ที่ดีที่สุดสำหรับทีมพัฒนาในปี 2565

มาดูเครื่องมือการปรับใช้ซอฟต์แวร์ที่ดีที่สุดเพื่อลดความเจ็บปวดจากการจัดการเครื่องจำนวนเท่าใดก็ได้

รายการตรวจสอบการปฏิบัติตามข้อกำหนดของ HIPAA และเครื่องมือในการใช้งาน

รายการตรวจสอบการปฏิบัติตามข้อกำหนดของ HIPAA และเครื่องมือในการใช้งาน

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

การตรวจสอบแบนด์วิดท์บน Linux: เครื่องมือ 5 อันดับแรกในปี 2021

การตรวจสอบแบนด์วิดท์บน Linux: เครื่องมือ 5 อันดับแรกในปี 2021

เมื่อลินุกซ์ได้รับความนิยมมากขึ้นในศูนย์ข้อมูล ได้ดูแบนด์วิดธ์การตรวจสอบบน Linux และกำลังตรวจสอบเครื่องมือที่ดีที่สุดด้วย

SolarWinds Mail Assure – ทบทวน 2021

SolarWinds Mail Assure – ทบทวน 2021

ความปลอดภัยของอีเมลเป็นงานสำคัญของผู้ให้บริการที่มีการจัดการ กำลังตรวจสอบ SolarWinds Mail Assure ซึ่งเป็นหนึ่งในเครื่องมือที่ดีที่สุดสำหรับจุดประสงค์นั้น

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

แผ่นโกงคำสั่ง Windows PowerShell - สุดยอดคู่มือที่คุณต้องการ

หากคุณเป็นผู้ใช้ Windows คุณอาจรู้และเข้าใจว่าการดำเนินการต่างๆ บนพีซีของคุณสามารถมีได้มากกว่าหนึ่งวิธีและ

9 เครื่องมือแก้ไขปัญหาเครือข่ายที่ดีที่สุดที่เราตรวจสอบในปี 2564

9 เครื่องมือแก้ไขปัญหาเครือข่ายที่ดีที่สุดที่เราตรวจสอบในปี 2564

เพื่อช่วยคุณจัดเรียงเขาวงกตของเครื่องมือที่มีให้สำหรับการแก้ไขปัญหาเครือข่าย ได้เปิดเผยการเลือกเครื่องมือแก้ไขปัญหาเครือข่ายที่ดีที่สุดของเรา

6 เครื่องมือเพิ่มประสิทธิภาพ WAN ที่ดีที่สุดที่เราได้ทำการทดสอบในปี 2021

6 เครื่องมือเพิ่มประสิทธิภาพ WAN ที่ดีที่สุดที่เราได้ทำการทดสอบในปี 2021

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