Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> การบำรุงรักษาคอมพิวเตอร์

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

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

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

การเปิดพรอมต์ PowerShell ขั้นสูง

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

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

หรือคุณสามารถพิมพ์ PowerShell ลงในแถบค้นหาแล้วกด CTRL + SHIFT + ENTER เพื่อให้ได้ผลลัพธ์แบบเดียวกัน

ตั้งวันที่และเวลา

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

ในการเริ่มต้น ให้เปิดพรอมต์ PowerShell ที่ยกระดับแล้วป้อนคำสั่งต่อไปนี้:

Set-Date -date "12/25/2016 7:30 AM"

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

ปรับวันที่และเวลา

ในบางกรณี คุณอาจต้องการปรับแต่งวันที่และเวลา แทนที่จะเปลี่ยนทันที เพื่อให้งานนี้เสร็จสมบูรณ์ เราจะใช้ Set-Date . เดียวกัน cmdlet เหมือนเมื่อก่อนด้วยวิธีการที่แตกต่างออกไปเล็กน้อย:

Set-Date (Get-Date).AddDays(2)

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

ตรวจสอบไฟล์และโฟลเดอร์

คำสั่ง PowerShell ทำให้ง่ายต่อการตรวจสอบว่ามีไฟล์และโฟลเดอร์อยู่ในคอมพิวเตอร์ของคุณหรือไม่ โดยที่คุณไม่ต้องเสียเวลาค้นหาใน File Explorer การใช้ Test-Path . เป็นเรื่องง่าย cmdlet เพื่อตรวจสอบว่ามีอะไรอยู่ที่ส่วนท้ายของเส้นทางที่คุณระบุหรือไม่ ตัวอย่างเช่น หากต้องการค้นหาไฟล์ชื่อ PowerShell.xls ในโฟลเดอร์ชื่อ Documents ฉันจะใช้คำสั่งในลักษณะนี้ (แน่นอนว่าเส้นทางของคุณจะแตกต่างกันไปตามลำดับชั้นของโฟลเดอร์):

Test-Path c:\Users\Brad\Documents\PowerShell.xls

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

Test-Path c:\Users\Brad\Documents\*.xls

เปลี่ยนชื่อไฟล์และโฟลเดอร์

เมื่อคุณพิมพ์เส้นทางของไฟล์ได้อย่างถูกต้องแล้ว คุณสามารถใช้ PowerShell เพื่อเปลี่ยนชื่อไฟล์และโฟลเดอร์ได้อย่างรวดเร็วและมีประสิทธิภาพ อย่าลืมเปิดด้วย Rename-Item cmdlet จากนั้นให้เส้นทางที่มีอยู่แล้วตามด้วยชื่อที่คุณต้องการ — เช่น:

Rename-Item c:\Users\Brad\Documents\PowerShellisDifficult.xls PowerShellisEasy.xls

ย้ายไฟล์และโฟลเดอร์

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

Move-Item c:\Users\Brad\Documents\PowerShellisEasy.xls c:\Users\Brad\Important Documents

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

Move-Item c:\Users\Brad\Documents\*.xls c:\Users\Brad\Important Documents

เปิดโปรแกรม

ไอเทมปลุกพลัง cmdlet เปิดแอปพลิเคชันหรือไฟล์โดยตรงจากพรอมต์ของ PowerShell:

Invoke-Item c:\Windows\System32\notepad.exe

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

notepad

เปิดไฟล์ด้วยโปรแกรมเริ่มต้น

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

Invoke-Item c:\MakeUseOf\Hello.txt

เปิดไฟล์เป็นแบทช์

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

Invoke-Item c:\MakeUseOf\*.txt

อ่านไฟล์ข้อความ

อินเทอร์เฟซแบบข้อความของ PowerShell จะไม่สามารถแข่งขันกับ VLC ได้มากกว่าจำนวนประเภทไฟล์ที่สามารถแสดงได้ อย่างไรก็ตาม เหมาะที่จะนำเสนอเนื้อหาของไฟล์ .txt โดยใช้ Get-Content คำสั่ง:

Get-Content c:\MakeUseOf\Hello.txt

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

อย่างไรก็ตาม คุณอาจต้องการดูตัวอย่างไฟล์ข้อความแทนที่จะแสดงทั้งเอกสาร โดยเฉพาะอย่างยิ่งหากไฟล์มีขนาดใหญ่มาก ในกรณีนี้ เราสามารถใช้ -totalcount พารามิเตอร์:

Get-Content c:\MakeUseOf\Hello.txt -totalcount 5

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

ดังที่คุณเห็นด้านบน ระบบจะแสดงเฉพาะห้าบรรทัดแรกของเอกสารตามผลลัพธ์

เพิ่มไปยังไฟล์ข้อความ

คุณสามารถก้าวไปไกลกว่าการอ่านเนื้อหาของเอกสาร .txt ได้โดยใช้ เนื้อหาเพิ่มเติม cmdlet:

Add-Content c:\MakeUseOf\Hello.txt "written by Brad Jones"

อย่างไรก็ตาม การทำเช่นนี้จะใส่ข้อความที่เพิ่มไว้ที่ส่วนท้ายสุดของเอกสารตามที่แสดง ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการอย่างแท้จริง

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

ที่นี่ คุณสามารถใช้อักขระพิเศษเพื่อกำหนดว่าคุณต้องการเพิ่มการเพิ่มในบรรทัดใหม่:

Add-Content c:\MakeUseOf\Hello.txt "`nwritten by Brad Jones"

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

คุณอาจพบว่ามีอักขระพิเศษอีกสองสามตัวที่มีความสำคัญมากพอที่จะรวมไว้กับหน่วยความจำ ขณะที่คุณกำลังทำงานกับ PowerShell การใช้ `b จะส่งผลให้มีการแบ็คสเปซ และ `b จะสร้างแท็บแนวนอน ในขณะเดียวกัน `' จะสร้างอัญประกาศเดี่ยว และ `" จะสร้างอัญประกาศคู่

วัดไฟล์ข้อความ

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

Get-Content c:\MakeUseOf\Hello.txt | Measure Object

15 งานขั้นสูง PowerShell สามารถจัดการได้ใน Windows 10

ตอนนี้ เราใช้ cmdlet สองอันพร้อมกัน — และนั่นจะยิ่งมีความสำคัญมากขึ้นเมื่อคุณดำดิ่งสู่ PowerShell อย่างลึกซึ้ง

ความปลอดภัยและผู้ดูแลระบบ

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

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

Get-Service

อย่างไรก็ตาม เราสามารถใช้คำสั่งที่ซับซ้อนกว่านี้เพื่อกำหนดประเภทของบริการที่เราต้องการดูข้อมูลเกี่ยวกับ:

Get-Service | Where-Object {$_.status -eq "stopped"}

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

เริ่มบริการใหม่

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

Restart-Service dbupdate

เรายังสามารถใช้พารามิเตอร์ที่ช่วยให้เราสามารถอ้างอิงถึงบริการโดยใช้ชื่อที่แสดง แทนที่จะใช้ชื่อที่อาจสร้างความสับสนที่ระบบใช้:

Restart-Service -displayname "Dropbox Update Service"

แก้ไขบริการ

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

Set-Service dbupdate -startuptype "manual"

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

รีเฟรชแอปที่ติดค้าง

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

อย่างไรก็ตาม คุณสามารถใช้ PowerShell เพื่อเสนอวิธีแก้ปัญหาสำหรับปัญหาประเภทนี้ — ต้องขอบคุณ Gary Beaty ผู้อ่าน MakeUseOf สำหรับเคล็ดลับนี้:

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

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

ขั้นตอนต่อไป

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

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

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