จะเกิดอะไรขึ้นถ้าคุณสามารถนำประสิทธิภาพการทำงานของ Linux มาสู่ Windows ได้? ข้อแตกต่างหลักประการหนึ่งระหว่าง Windows และ Linux คือ Linux distros ส่วนใหญ่มาพร้อมกับ Bash shell อันทรงพลัง เมื่อเปรียบเทียบแล้ว พรอมต์คำสั่งใน Windows จะเป็นแบบแบร์โบน จะเกิดอะไรขึ้นหาก Windows มีเทอร์มินัลที่ทรงพลังเท่ากัน
ด้วย PowerShell ความฝันนั้นก็จะกลายเป็นจริงได้
ข้อจำกัดความรับผิดชอบ:PowerShell ไม่ใช่ "Bash สำหรับ Windows" และไม่ควรเป็นเช่นนั้น ใช่ ทั้งสองเป็นสภาพแวดล้อมบรรทัดคำสั่งที่สามารถปรับปรุงประสิทธิภาพการทำงานของคุณได้อย่างมาก แต่นั่นคือจุดสิ้นสุดของความคล้ายคลึงกัน คุณควรมองว่า PowerShell เป็นแนวทางแยกต่างหากในการสร้างสภาพแวดล้อมบรรทัดคำสั่งที่มีประสิทธิภาพ
PowerShell คืออะไร
PowerShell ถือได้ว่าเป็นการอัพเกรดครั้งใหญ่ของพรอมต์คำสั่งของ Windows มันสามารถทำงานหลายอย่างเหมือนกัน (เช่น การนำทางระบบ โต้ตอบกับไฟล์ ปรับเปลี่ยนคุณสมบัติ) แต่เปิด .NET framework ทั้งหมดขึ้นมาเพื่อประสิทธิภาพสูงสุด โปรดอ่านต่อไปเพื่อให้เข้าใจถึงประโยชน์ของสิ่งนี้
มีประโยชน์หลักสองประการที่ทำให้ PowerShell ดีกว่าพรอมต์คำสั่งแบบเดิม:ความสามารถในการขยาย และ ความสามารถในการเขียนสคริปต์ .
แม้ว่า PowerShell จะมาพร้อมกับชุดคำสั่งเริ่มต้น คุณสามารถเพิ่มคำสั่งของคุณเองได้โดยสร้าง cmdlets . Cmdlets คือคลาสที่สร้างขึ้นโดยใช้ภาษา C# และเมื่อมีการเรียก คลาสเหล่านั้นจะถูกดำเนินการภายในสภาพแวดล้อมของ PowerShell เนื่องจากเขียนโดยใช้ C# cmdlets จึงสามารถเข้าถึง .NET framework ทั้งหมดได้
.NET framework มีไลบรารีโค้ดขนาดใหญ่ที่ Microsoft จัดเตรียมไว้ให้ เมื่อเขียน cmdlet ของคุณเอง คุณจะสามารถเข้าถึงโค้ดนั้นทั้งหมดได้ กำลังดึงข้อมูลกระบวนการ? อัลกอริธึมการเข้ารหัส? การเชื่อมต่อฐานข้อมูล? เครือข่ายสื่อสาร? ทั้งหมดนั้นและอื่น ๆ จัดทำโดย .NET framework ซึ่งหมายความว่างานส่วนใหญ่ทำเพื่อคุณ คุณเพียงแค่ต้องประกอบเข้าด้วยกันโดยการเรียกใช้ฟังก์ชันที่เหมาะสม
Microsoft ได้ชี้แจงอย่างชัดเจนว่า PowerShell จะไม่หายไป อันที่จริง โปรแกรมจัดการแพ็คเกจที่กำลังจะมีขึ้นใน Windows 10 จะใช้ PowerShell ดังนั้นทุกคนควรพิจารณาเรียนรู้มันเร็วกว่านี้
เหตุใด PowerShell จึงยอดเยี่ยม
PowerShell มีคุณลักษณะขั้นสูงมากมาย ซึ่งส่วนใหญ่อาจเกี่ยวข้องกับโปรแกรมเมอร์ Windows และผู้ดูแลระบบเซิร์ฟเวอร์เท่านั้น แต่มีคุณลักษณะพื้นฐานหลายประการที่เข้าใจง่าย แต่มีประโยชน์อย่างยิ่งสำหรับทุกคน
เรียบง่ายแต่ทรงพลัง สภาพแวดล้อมของ PowerShell นั้นง่ายพอที่ทุกคนสามารถรับได้ภายในเวลาไม่กี่ชั่วโมงของการอ่าน มี คือ เส้นโค้งการเรียนรู้แต่ค่อนข้างตื้นและคุณไม่จำเป็นต้องเรียนรู้ทั้งหมด ของมันให้เกิดประโยชน์
ข้อมูลกระบวนการโดยละเอียด การใช้ตัวจัดการงานทางเลือกนั้นเป็นเรื่องหนึ่ง แต่ PowerShell ช่วยให้คุณใช้กลอุบายบางอย่างที่เกี่ยวข้องกับการจัดการกระบวนการได้ เริ่มต้นด้วย cmdlet ของ Get-Process และ Stop-Process
การทำงานอัตโนมัติและการเขียนสคริปต์อย่างง่าย Windows พื้นฐานไม่มีวิธีง่ายๆ ในการทำงานอัตโนมัติ ก่อนหน้า PowerShell ไฟล์แบตช์สามารถทำได้เฉพาะการเขียนสคริปต์ดั้งเดิมในขณะที่จำเป็นต้องใช้โซลูชันของบริษัทอื่นสำหรับการทำงานอัตโนมัติ (เช่น Perl, AutoHotkey) แต่ด้วย PowerShell คุณสามารถกำหนดเวลางานให้ทำงานในช่วงเวลาหรือช่วงเวลาหนึ่งได้
ตัวอย่างเช่น ด้วยโมดูล ScheduledTasks คุณสามารถกำหนดให้โปรแกรมหรือกระบวนการทำงานตามทริกเกอร์ได้ (เช่น ในเวลาที่กำหนด เมื่อเหตุการณ์ของระบบเกิดขึ้น เป็นต้น) และคุณสามารถกำหนดบริบทสำหรับงานนั้นได้ (เช่น ความปลอดภัย ข้อจำกัด)
คำสั่งไพพ์และตรรกะ ใน Bash (Linux) คำสั่งต่างๆ สามารถไพพ์เข้าด้วยกันเพื่อให้เอาต์พุตของคำสั่งหนึ่งสามารถใช้เป็นอินพุตสำหรับคำสั่งอื่นได้ ตัวอย่างเช่น ข้อมูลเอาต์พุต cmdlet Get-Process พื้นฐานสำหรับกระบวนการที่ทำงานอยู่ทั้งหมด จะทำอย่างไรถ้าคุณต้องการข้อมูลจากชุดย่อยของกระบวนการเท่านั้น คุณสามารถไพพ์ด้วย Where-Object cmdlet ซึ่งทำหน้าที่เป็นตัวกรองกระบวนการ เพื่อดำเนินการ Get-Process เฉพาะกับกระบวนการที่ส่งคืนโดย Where-Object
PowerShell ยังมีคำสั่งดั้งเดิมสองสามคำสั่งสำหรับลอจิกแบบมีเงื่อนไข (เช่น If, Else, For, Switch) ที่สามารถใช้เพื่อควบคุมโฟลว์ของการดำเนินการ cmdlet ตัวอย่างเช่น คุณสามารถสร้างสคริปต์ PowerShell ที่รัน cmdlet บางอย่างเมื่อตรงตามเงื่อนไขบางอย่างเท่านั้น (เช่น ล้างกระบวนการเมื่อ RAM ใกล้จะเต็ม)
งานระยะไกลและพื้นหลัง ไม่เพียงแต่สามารถดำเนินการ cmdlet เป็นกระบวนการในเบื้องหลัง (เพื่อให้คุณสามารถเรียกใช้งานหลายงานพร้อมกันแบบอะซิงโครนัสได้) แต่ cmdlet จำนวนมากยังสามารถดำเนินการบนเครื่องระยะไกลบนเครือข่ายได้ตราบเท่าที่มีการกำหนดค่าให้ทำเช่นนั้น Cmdlet ที่มีความสามารถระยะไกลมักจะมีพารามิเตอร์ ComputerName ที่คุณสามารถระบุได้เมื่อดำเนินการ cmdlet ดังกล่าว
สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้า TechNet นี้เกี่ยวกับการเรียกใช้คำสั่งระยะไกลด้วย PowerShell
ดาวน์โหลดสคริปต์บุคคลที่สาม คุณไม่จำเป็นต้องขยาย PowerShell ด้วยตัวคุณเอง ที่เก็บออนไลน์หลายแห่งช่วยให้คุณดาวน์โหลดและใช้ประโยชน์จากสคริปต์สาธารณะและ cmdlet ที่ผู้อื่นสร้างขึ้นได้
เรียนรู้ PowerShell ได้ที่ไหน
พร้อมที่จะทำให้มือของคุณสกปรกด้วย PowerShell แล้วหรือยัง? ต่อไปนี้เป็นแหล่งข้อมูลบางส่วนที่มักแนะนำสำหรับมือใหม่ที่ต้องการเรียนรู้โดยเร็วที่สุด:
บทแนะนำ PowerShell โดย Don Jones ซีรีส์วิดีโอ YouTube นี้เน้นที่ PowerShell 2.0 (เวอร์ชันที่มาพร้อมกับ Windows 7) ซึ่งค่อนข้างล้าสมัยในขณะนี้ แต่มีการแนะนำที่ดีสำหรับผู้ที่ไม่มีประสบการณ์ในการเขียนสคริปต์เลย วิดีโอแต่ละรายการมีความยาวเพียงไม่กี่นาที แต่มี 99 รายการ ดังนั้นจึงค่อนข้างครอบคลุม
Microsoft Virtual Academy MVA เสนอหลักสูตรที่เกี่ยวข้องกับ Microsoft มากมายฟรี รวมถึงสองหลักสูตรใน PowerShell 3.0 มีหลักสูตรเริ่มต้นใช้งานและหลักสูตรเครื่องมือและการเขียนสคริปต์ขั้นสูง ทั้งสองหลักสูตรมี 9 บทเรียนซึ่งแต่ละหลักสูตรมีความยาวประมาณ 1 ชั่วโมง
ศูนย์สคริปต์ TechNet ส่วน TechNet ของเว็บไซต์ Microsoft มีลิงก์ที่ยอดเยี่ยมมากมายไปยังคู่มือและบทแนะนำ PowerShell เป็นโบนัส หากคุณไปที่ส่วน Repository คุณสามารถเรียกดูและดาวน์โหลดสคริปต์ PowerShell ต่างๆ ได้
เฮ้ คนเขียนบท! บล็อก [นำ URL ที่เสียหายออก] นี่คือบล็อก "ทั้งหมดเกี่ยวกับ PowerShell" ที่มีข้อมูลดีๆ มากมายที่มีอายุย้อนหลังเกือบหนึ่งทศวรรษ มีการเผยแพร่โพสต์ใหม่ทุกวันและจัดหมวดหมู่ตามแท็กเพื่อให้เรียกดูได้ง่าย หากคุณไม่รู้ว่าจะเริ่มต้นจากตรงไหน ให้เริ่มต้นด้วยการเรียกดูแท็กเริ่มต้นใช้งาน [Broken URL Removed]
PowerShell เหมาะสำหรับคุณหรือไม่
คุณคิดอย่างไร? PowerShell จะช่วยเพิ่มประสิทธิภาพการทำงานของคุณบน Windows หรือไม่ หรือมันมากเกินไปสำหรับความต้องการของคุณหรือไม่ แบ่งปันความคิดของคุณกับเราในความคิดเห็น!