ค้นหาเว็บไซต์

การติดตั้ง Windows PowerShell SDK


นำไปใช้กับ: Windows PowerShell 2.0, Windows PowerShell 3.0

หัวข้อต่อไปนี้อธิบายวิธีการติดตั้ง PowerShell SDK บน Windows เวอร์ชันต่างๆ

การติดตั้ง Windows PowerShell 3.0 SDK สำหรับ Windows 8 และ Windows Server 2012

Windows PowerShell 3.0 ได้รับการติดตั้งโดยอัตโนมัติพร้อมกับ Windows 8 และ Windows Server 2012 นอกจากนี้ คุณสามารถดาวน์โหลดและติดตั้งแอสเซมบลีอ้างอิงสำหรับ Windows PowerShell 3.0 โดยเป็นส่วนหนึ่งของ Windows 8 SDK แอสเซมบลีเหล่านี้ช่วยให้คุณสามารถเขียน cmdlets ผู้ให้บริการ และโปรแกรมโฮสต์สำหรับ Windows PowerShell 3.0 เมื่อคุณติดตั้ง Windows SDK สำหรับ Windows 8 แอสเซมบลี Windows PowerShell จะถูกติดตั้งโดยอัตโนมัติในโฟลเดอร์แอสเซมบลีอ้างอิง ใน \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0 สำหรับข้อมูลเพิ่มเติม โปรดดูที่ไซต์ดาวน์โหลด Windows 8 SDK ตัวอย่างโค้ด Windows PowerShell ยังมีอยู่ในที่เก็บ powershell-sdk-samples

แอสเซมบลีอ้างอิง

แอสเซมบลีอ้างอิงถูกติดตั้งในตำแหน่งต่อไปนี้ตามค่าเริ่มต้น: c:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0

บันทึก

ไม่สามารถโหลดรหัสที่คอมไพล์กับแอสเซมบลี Windows PowerShell 2.0 ลงในการติดตั้ง Windows PowerShell 1.0 อย่างไรก็ตาม รหัสที่คอมไพล์กับแอสเซมบลี Windows PowerShell 1.0 สามารถโหลดลงในการติดตั้ง Windows PowerShell 2.0 ได้

ตัวอย่าง

ตัวอย่างรหัสได้รับการติดตั้งในตำแหน่งต่อไปนี้ตามค่าเริ่มต้น: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\ ส่วนต่อไปนี้จะให้คำอธิบายโดยย่อว่าแต่ละตัวอย่างทำอะไรได้บ้าง

ตัวอย่าง Cmdlet

  • GetProcessSample01 - แสดงวิธีการเขียน cmdlet อย่างง่ายที่รับกระบวนการทั้งหมดบนเครื่องคอมพิวเตอร์
  • GetProcessSample02 - แสดงวิธีการเพิ่มพารามิเตอร์ใน cmdlet cmdlet ใช้ชื่อกระบวนการอย่างน้อยหนึ่งชื่อและส่งกลับกระบวนการที่ตรงกัน
  • GetProcessSample03 - แสดงวิธีการเพิ่มพารามิเตอร์ที่ยอมรับอินพุตจากไปป์ไลน์
  • GetProcessSample04 - แสดงวิธีจัดการกับข้อผิดพลาดที่ไม่สิ้นสุด
  • GetProcessSample05 - แสดงรายการวิธีการแสดงรายการกระบวนการที่ระบุ
  • SelectObject - แสดงวิธีการเขียนตัวกรองเพื่อเลือกเฉพาะบางวัตถุเท่านั้น
  • SelectString - แสดงวิธีการค้นหาไฟล์ตามรูปแบบที่ระบุ
  • StopProcessSample01 - แสดงวิธีการใช้พารามิเตอร์ PassThru และวิธีการขอคำติชมของผู้ใช้โดยการเรียกเมธอด shouldProcess และ shouldContinue ผู้ใช้ระบุพารามิเตอร์ PassThru เมื่อพวกเขาต้องการบังคับให้ cmdlet ส่งกลับวัตถุ
  • StopProcessSample02 - แสดงวิธีหยุดกระบวนการเฉพาะ
  • StopProcessSample03 - แสดงวิธีการประกาศนามแฝงสำหรับพารามิเตอร์ และวิธีการสนับสนุนไวด์การ์ด
  • StopProcessSample04 - แสดงวิธีการประกาศชุดพารามิเตอร์ วัตถุที่ cmdlet ใช้เป็นอินพุต และวิธีการระบุชุดพารามิเตอร์เริ่มต้นที่จะใช้

ตัวอย่างระยะไกล

  • RemoteRunspace01 - แสดงวิธีสร้าง runspace ระยะไกลที่ใช้เพื่อสร้างการเชื่อมต่อระยะไกล
  • RemoteRunspacePool01 - แสดงวิธีการสร้างพูล runspace ระยะไกล และวิธีการรันหลายคำสั่งพร้อมกันโดยใช้พูลนี้
  • Serialization01 - แสดงวิธีดูคลาส .NET ที่มีอยู่ และตรวจสอบให้แน่ใจว่าข้อมูลจากคุณสมบัติสาธารณะที่เลือกของคลาสนี้ได้รับการเก็บรักษาไว้ตลอดทั้งการทำให้เป็นอนุกรม/ดีซีเรียลไลซ์
  • การทำให้เป็นอนุกรม02 - แสดงวิธีการดูคลาส .NET ที่มีอยู่ และตรวจสอบให้แน่ใจว่าข้อมูลจากอินสแตนซ์ของคลาสนี้ได้รับการเก็บรักษาไว้ในการทำให้เป็นอนุกรม/ดีซีเรียลไลซ์ เมื่อข้อมูลไม่พร้อมใช้งานในคุณสมบัติสาธารณะของคลาส
  • การทำให้เป็นอนุกรม03 - แสดงวิธีการดูคลาส .NET ที่มีอยู่ และตรวจสอบให้แน่ใจว่าอินสแตนซ์ของคลาสนี้และคลาสที่ได้รับนั้นถูกดีซีเรียลไลซ์ (เติมน้ำใหม่) ลงในอ็อบเจ็กต์ .NET ที่ถ่ายทอดสด

ตัวอย่างเหตุการณ์

  • Event01 - แสดงวิธีการสร้าง cmdlet สำหรับการลงทะเบียนเหตุการณ์โดยได้มาจาก ObjectEventRegistrationBase
  • Event02 - แสดงวิธีแสดงวิธีรับการแจ้งเตือนเหตุการณ์ Windows PowerShell ที่สร้างขึ้นบนคอมพิวเตอร์ระยะไกล ใช้เหตุการณ์ PSEventReceived ที่เปิดเผยผ่านคลาส Runspace

ตัวอย่างแอปพลิเคชันโฮสต์

  • Runspace01 - แสดงวิธีใช้คลาส PowerShell เพื่อเรียกใช้ cmdlet Get-Process แบบซิงโครนัส cmdlet รับกระบวนการส่งกลับวัตถุกระบวนการสำหรับแต่ละกระบวนการที่ทำงานบนคอมพิวเตอร์เฉพาะที่
  • Runspace02 - แสดงวิธีใช้คลาส PowerShell เพื่อเรียกใช้ cmdlets Get-Process และ Sort-Object แบบซิงโครนัส Get-Process cmdlet ส่งคืนออบเจ็กต์กระบวนการสำหรับแต่ละกระบวนการที่ทำงานบนเครื่องคอมพิวเตอร์ และ Sort-Object จะเรียงลำดับออบเจ็กต์ตามคุณสมบัติ Id ผลลัพธ์ของคำสั่งเหล่านี้จะแสดงขึ้นโดยใช้ตัวควบคุม DataGridView
  • Runspace03 - แสดงวิธีใช้คลาส PowerShell เพื่อเรียกใช้สคริปต์พร้อมกัน และวิธีการจัดการกับข้อผิดพลาดที่ไม่สิ้นสุด สคริปต์ได้รับรายการชื่อกระบวนการแล้วดึงข้อมูลกระบวนการเหล่านั้น ผลลัพธ์ของสคริปต์ รวมถึงข้อผิดพลาดที่ไม่ยุติซึ่งเกิดขึ้นเมื่อเรียกใช้สคริปต์ จะแสดงในหน้าต่างคอนโซล
  • Runspace04 - แสดงวิธีใช้คลาส PowerShell เพื่อรันคำสั่ง และวิธีการตรวจจับข้อผิดพลาดในการยุติที่เกิดขึ้นเมื่อรันคำสั่ง มีการรันคำสั่งสองคำสั่ง และคำสั่งสุดท้ายถูกส่งผ่านอาร์กิวเมนต์พารามิเตอร์ที่ไม่ถูกต้อง เป็นผลให้ไม่มีการส่งคืนออบเจ็กต์และมีข้อผิดพลาดในการยกเลิกเกิดขึ้น
  • Runspace05 - แสดงวิธีการเพิ่ม snap-in ให้กับวัตถุ InitialSessionState เพื่อให้ cmdlet ของ snap-in พร้อมใช้งานเมื่อเปิด runspace สแน็ปอินจัดเตรียม Get-Proc cmdlet (กำหนดโดยตัวอย่าง GetProcessSample01) ที่ทำงานพร้อมกันโดยใช้วัตถุ PowerShell
  • Runspace06 - แสดงวิธีการเพิ่มโมดูลให้กับอ็อบเจ็กต์ InitialSessionState เพื่อให้โมดูลถูกโหลดเมื่อเปิด runspace โมดูลจัดเตรียม Get-Proc cmdlet (กำหนดโดยตัวอย่าง GetProcessSample02) ที่ทำงานพร้อมกันโดยใช้วัตถุ PowerShell
  • Runspace07 - แสดงวิธีการสร้าง runspace จากนั้นใช้ runspace นั้นเพื่อเรียกใช้ cmdlets สองรายการพร้อมกันโดยใช้วัตถุ PowerShell
  • Runspace08 - แสดงวิธีการเพิ่มคำสั่งและอาร์กิวเมนต์ในไปป์ไลน์ของออบเจ็กต์ PowerShell และวิธีการรันคำสั่งพร้อมกัน
  • Runspace09 - แสดงวิธีเพิ่มสคริปต์ในไปป์ไลน์ของออบเจ็กต์ PowerShell และวิธีการเรียกใช้สคริปต์แบบอะซิงโครนัส เหตุการณ์ถูกใช้เพื่อจัดการเอาต์พุตของสคริปต์
  • Runspace10 - แสดงวิธีการสร้างสถานะเซสชันเริ่มต้นเริ่มต้น วิธีเพิ่ม cmdlet ให้กับ InitialSessionState วิธีสร้างรันสเปซที่ใช้สถานะเซสชันเริ่มต้น และวิธีการเรียกใช้คำสั่งโดยใช้วัตถุ PowerShell
  • Runspace11 - แสดงวิธีใช้คลาส ProxyCommand เพื่อสร้างคำสั่งพร็อกซีที่เรียก cmdlet ที่มีอยู่ แต่จำกัดชุดของพารามิเตอร์ที่มีอยู่ จากนั้นคำสั่งพร็อกซีจะถูกเพิ่มในสถานะเซสชันเริ่มต้นที่ใช้เพื่อสร้างรันสเปซที่มีข้อจำกัด ซึ่งหมายความว่าผู้ใช้สามารถเข้าถึงฟังก์ชันการทำงานของ cmdlet ผ่านคำสั่งพร็อกซีเท่านั้น
  • PowerShell01 - แสดงวิธีสร้างรันสเปซที่มีข้อจำกัดโดยใช้ออบเจ็กต์ InitialSessionState
  • PowerShell02 - แสดงวิธีใช้พูลรันสเปซเพื่อรันหลายคำสั่งพร้อมกัน

ตัวอย่างโฮสต์

  • Host01 - แสดงวิธีการใช้แอปพลิเคชันโฮสต์ที่ใช้โฮสต์แบบกำหนดเอง ในตัวอย่างนี้ รันสเปซจะถูกสร้างขึ้นโดยใช้โฮสต์แบบกำหนดเอง จากนั้น PowerShell API จะถูกใช้เพื่อเรียกใช้สคริปต์ที่เรียก exit แอปพลิเคชันโฮสต์จะดูผลลัพธ์ของสคริปต์และพิมพ์ผลลัพธ์ออกมา
  • Host02 - แสดงวิธีเขียนแอปพลิเคชันโฮสต์ที่ใช้รันไทม์ Windows PowerShell พร้อมกับการใช้งานโฮสต์แบบกำหนดเอง แอปพลิเคชันโฮสต์ตั้งค่าวัฒนธรรมโฮสต์เป็นภาษาเยอรมัน เรียกใช้ cmdlet Get-Process และแสดงผลลัพธ์ตามที่คุณต้องการเห็นโดยใช้ pwrsh.exe จากนั้นพิมพ์ข้อมูลและเวลาปัจจุบันเป็นภาษาเยอรมัน
  • Host03 - แสดงวิธีสร้างแอปพลิเคชันโฮสต์บนคอนโซลแบบโต้ตอบที่อ่านคำสั่งจากบรรทัดคำสั่ง ดำเนินการคำสั่ง จากนั้นแสดงผลลัพธ์ไปยังคอนโซล
  • Host04 - แสดงวิธีสร้างแอปพลิเคชันโฮสต์บนคอนโซลแบบโต้ตอบที่อ่านคำสั่งจากบรรทัดคำสั่ง ดำเนินการคำสั่ง จากนั้นแสดงผลลัพธ์ไปยังคอนโซล แอปพลิเคชันโฮสต์นี้ยังรองรับการแสดงพร้อมท์ที่อนุญาตให้ผู้ใช้สามารถระบุตัวเลือกได้หลายตัวเลือก
  • Host05 - แสดงวิธีสร้างแอปพลิเคชันโฮสต์บนคอนโซลแบบโต้ตอบที่อ่านคำสั่งจากบรรทัดคำสั่ง ดำเนินการคำสั่ง จากนั้นแสดงผลลัพธ์ไปยังคอนโซล แอปพลิเคชันโฮสต์นี้ยังสนับสนุนการโทรไปยังคอมพิวเตอร์ระยะไกลโดยใช้ cmdlet ของ Enter-PsSession และ Exit-PsSession
  • Host06 - แสดงวิธีสร้างแอปพลิเคชันโฮสต์บนคอนโซลแบบโต้ตอบที่อ่านคำสั่งจากบรรทัดคำสั่ง ดำเนินการคำสั่ง จากนั้นแสดงผลลัพธ์ไปยังคอนโซล นอกจากนี้ ตัวอย่างนี้ยังใช้ Tokenizer API เพื่อระบุสีของข้อความที่ผู้ใช้ป้อน

ตัวอย่างผู้ให้บริการ

  • AccessDBProviderSample01 - แสดงวิธีการประกาศคลาสผู้ให้บริการที่ได้รับโดยตรงจากคลาส CmdletProvider รวมไว้ที่นี่เพื่อความสมบูรณ์เท่านั้น

  • AccessDBProviderSample02 - แสดงวิธีการเขียนทับวิธีการ NewDrive และ RemoveDrive เพื่อรองรับการเรียกไปยัง cmdlets New-PSDrive และ Remove-PSDrive คลาสตัวให้บริการในตัวอย่างนี้ได้มาจากคลาส DriveCmdletProvider

  • AccessDBProviderSample03 - แสดงวิธีการเขียนทับเมธอด GetItem และ SetItem เพื่อรองรับการเรียกไปยัง cmdlets Get-Item และ Set-Item คลาสผู้ให้บริการในตัวอย่างนี้ได้มาจากคลาสItemCmdletProvider

  • AccessDBProviderSample04 - แสดงวิธีการเขียนทับวิธีคอนเทนเนอร์เพื่อรองรับการเรียกไปยัง Copy-Item, Get-ChildItem, New-Item และ ลบรายการ cmdlet วิธีการเหล่านี้ควรถูกนำมาใช้เมื่อที่เก็บข้อมูลมีรายการที่เป็นคอนเทนเนอร์ คอนเทนเนอร์คือกลุ่มของรายการย่อยภายใต้รายการหลักทั่วไป คลาสผู้ให้บริการในตัวอย่างนี้ได้มาจากคลาสItemCmdletProvider

  • AccessDBProviderSample05 - แสดงวิธีการเขียนทับวิธีคอนเทนเนอร์เพื่อรองรับการเรียกไปยัง cmdlets Move-Item และ Join-Path วิธีการเหล่านี้ควรใช้เมื่อผู้ใช้ต้องการย้ายรายการภายในคอนเทนเนอร์ และหากที่เก็บข้อมูลมีคอนเทนเนอร์ที่ซ้อนกัน คลาสผู้ให้บริการในตัวอย่างนี้ได้มาจากคลาส NavigationCmdletProvider

  • AccessDBProviderSample06 - แสดงวิธีการเขียนทับวิธีการเนื้อหาเพื่อรองรับการเรียกไปยัง cmdlets Clear-Content, Get-Content และ Set-Content วิธีการเหล่านี้ควรถูกนำมาใช้เมื่อผู้ใช้ต้องการจัดการเนื้อหาของรายการในที่เก็บข้อมูล คลาสผู้ให้บริการในตัวอย่างนี้ได้มาจากคลาส NavigationCmdletProvider และใช้อินเทอร์เฟซ IContentCmdletProvider

บทความที่เกี่ยวข้อง