คำสั่ง Powershell ชั้นนำของคุณคืออะไร? มาทำรายการและโหวตสิ่งที่ดีที่สุดกันเถอะ!
คำสั่ง Powershell ชั้นนำของคุณคืออะไร? มาทำรายการและโหวตสิ่งที่ดีที่สุดกันเถอะ!
คำตอบ:
รับสมาชิกเป็นราชาแห่ง PowerShell cmdlets
Get-Member ช่วยให้คุณสามารถสำรวจสมาชิกแบบคงที่และชนิดของวัตถุ (ด้วยสวิตช์แบบคงที่) สมาชิกแบบคงที่
ฉันชอบมีสคริปต์สำหรับการค้นหาผู้ใช้ AD:
$strFilter = "(&(objectCategory=User)(sAMAccountName=[USERNAME]))";
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher;
$objSearcher.SearchRoot = "LDAP://dc=[AD_Location]";
$objSearcher.Filter = $strFilter;
$objSearcher.SearchScope = "Subtree";
$objSearcher.FindALL()
Get-ADUser -filter 'Name -like "*"'
(แทนที่ "ตัวกรอง" ด้วยอะไรก็ตาม)
ฉันต้องไปขอความช่วยเหลือด้วย cmdlet นี้เป็นกุญแจสำคัญในการค้นหาการทำงานของ cmdlet อื่น ๆ วินาทีปิดจะได้รับสมาชิก
ตอนนี้ฉันเป็นแฟนตัวยงของ Get-WMIObject
"เส้นทางทดสอบ" การค้นหาสิ่งนี้มีประโยชน์สำหรับการตรวจสอบว่ามีข้อมูลอยู่หรือไม่หรือต้องมีการเพิ่มค่าเริ่มต้น
CD (เปลี่ยนตำแหน่ง) - ฉันสามารถนำทางไปรอบ ๆ รีจิสตรีได้ราวกับว่ามันเป็นระบบไฟล์ โดยพื้นฐานแล้วคุณสามารถทำได้สำหรับผู้ให้บริการ PowerShell ทั้งหมด (ส่งคืนโดย Get-PSProviders)
cd HKLM:\
ไม่มีคำถามเกี่ยวกับมัน - รับสมาชิก ฉันไม่สามารถจินตนาการเซสชัน PowerShell ใด ๆ หากไม่ได้ใช้ การค้นพบเป็นหนึ่งในคุณสมบัติที่แข็งแกร่งที่สุดของ Windows PowerShell
นี่เป็นเทคนิคมากกว่า cmdlet หรือฟังก์ชั่นโดยเฉพาะ แต่สิ่งที่ PS โปรดของฉันคือการสร้างวัตถุ:
$foo=""|select bar, baz, gronk|ft
ให้คุณ
bar baz gronk
----- ----- ------
ซึ่งมีประโยชน์สำหรับการเปลี่ยนข้อมูลที่ไม่มีโครงสร้างเป็นชุดของวัตถุสำหรับการประมวลผลเพิ่มเติม
หนึ่งในรายการโปรดของฉัน:
รับเนื้อหา "c: \ logfile.log" รออยู่
PowerShell รุ่นของ 'tail -f' logfile '
ฉันเห็นรายชื่อสมาชิกที่ฉันต้องยอมรับว่าดีที่สุด แต่สิ่งที่ใกล้เคียงและเท่ากันก็จำเป็นสำหรับฉันคือ:
Format-List
วิธีที่ฉันใช้งานบ่อยกว่านี้คือหลังจากไพพ์เพื่อแสดงค่าทั้งหมดของคุณสมบัติของวัตถุ:
$SomeObject | fl *
จีเอ็มจะบอกคุณว่าวัตถุคืออะไรและระบุชื่อและประเภทของคุณสมบัติ แต่บ่อยครั้งกว่าสิ่งนี้ไม่ได้ช่วยให้คุณเข้าใจวิธีการใช้คุณสมบัติเหล่านั้นโดยไม่ต้องดูเอกสารที่น่าเบื่อ
$SomeObject | Format-List *
จะส่งออกค่าทั้งหมดของคุณสมบัติที่มีอยู่บนวัตถุเพื่อให้คุณสามารถดูว่าค่าปัจจุบันของพวกเขาคืออะไรและเริ่มมองหาคุณสมบัติที่คุณต้องการเลือกหรือใช้เพื่อกรองวัตถุบน
ฉันมักจะพบว่าวัตถุมีคุณสมบัติหลายอย่างตามเอกสารประกอบดูเหมือนว่าพวกเขามีข้อมูลที่ฉันต้องการ แต่ในความเป็นจริงมีคุณสมบัติเพียงอย่างเดียวเท่านั้นที่มีข้อมูลหรือข้อมูลในหนึ่งในนั้นไม่ได้เป็นอย่างที่คุณคาดหวัง เอกสารเพียงอย่างเดียว
นอกจาก Get-Member ฉันต้องบอกว่า Add-Member และ New-Object ซึ่งให้ความสามารถในการใช้ Extensible Type System
ความสามารถในการเพิ่มสมาชิกไปยังวัตถุใด ๆ ได้ตลอดเวลาช่วยให้คุณได้รับข้อมูลที่แน่นอนที่คุณต้องการด้วยความสามารถในการจัดเรียงมันกลุ่มมันฝานมันลูกเต๋ามันส่งออกหรือสิ่งที่คุณต้องการจะทำกับมัน