ฉันจะเปิดหรือปิดคุณสมบัติ windows โดยใช้ powershell หรือ commandline ใน windows 7 ได้อย่างไร


11

ฉันเขียนสคริปต์sysocmgrใน Windows XP servermanagercmdในเซิร์ฟเวอร์ 2008 และตอนนี้ฉันพบว่าฉันต้องใช้โมดูล PowerShell ใหม่servermanagerเพื่อติดตั้งคุณสมบัติใน Server 2008 R2 และดังนั้นฉันคาดหวังว่าจะใช้โมดูลเดียวกันใน Windows 7 แต่ไม่ใช่ ที่นั่น

ฉันจะติดตั้งฟีเจอร์ Windows โดยใช้บรรทัดคำสั่งหรือ PowerShell ใน Windows 7 ได้อย่างไร


ในที่สุดเวลาก็มีวิธีใช้ PowerShell ในที่สุดคำตอบของฉันก็คือด้านล่าง
MDMoore313

คำตอบ:


13
dism.exe /online /?

นอกจากนี้ตรวจสอบhttp://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part2.html


1
โดยเฉพาะหน้าMSDN นี้บอกให้คุณใช้คำสั่งเช่นนี้: dism /online /Enable-Feature /FeatureName:{feature}ใช้/Get-Featuresเพื่อแสดงรายการคุณสมบัติที่มีทั้งหมด
Eric Falsken

@EricFalsken ตอนนี้สามารถทำได้ผ่าน PowerShell โดยใช้โมดูล dism
MDMoore313

6

สำหรับจริงประสบการณ์ PowerShell คุณจะต้องดาวน์โหลด Windows AIK สำหรับ 8.0 dism moduleและใช้ มันถูกพบใน

C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

และคุณสามารถชี้พาวเวอร์เซลล์ไปยังโฟลเดอร์นั้นด้วย

Import-Module C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

ตรวจสอบให้แน่ใจว่าคุณได้แทนที่<arch>ด้วยสถาปัตยกรรมของ power powershell ที่กำลังทำงานอยู่ โฟลเดอร์ DISM นั้นยังสามารถคัดลอกและแจกจ่ายไปยังเครื่องถ้าจำเป็น (พูดถึงการทำงานฉันไม่รู้ว่าMicrosoft อนุญาตให้แจกจ่ายซ้ำได้หรือไม่)

คำสั่งเฉพาะในการโยนคุณสมบัติเสริมของ Windows คือ

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

ที่จะกลับมาเป็นMicrosoft.DISM.Commands.BasicFeatureObjectอย่างที่เห็นนี่ จากตรงนั้นคุณสามารถตั้งค่าstateคุณสมบัติเป็นปิดใช้งานเช่น

$(Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter).state = 
    [Microsoft.DISM.Commands.FeatureState]::Disabled

และลาก่อนศูนย์สื่อ แน่นอนว่าสิ่งนี้จะต้องถูกเรียกใช้จากพรอมต์ที่ยกระดับและ-Onlineสวิตช์จะอ้างถึง Windows ปัจจุบันที่ใช้งานอยู่ซึ่งตรงข้ามกับรูปแบบออฟไลน์

นอกจากนี้โมดูลนี้ต้อง WMF 3.0 และที่ต้อง .NET 4.0 เพียง FYI


1
ฉันสามารถทำงานEnable-WindowsOptionalFeature -FeatureName NetFx3 -Onlineบนเครื่อง Windows 8.1 โดยไม่ต้องติดตั้ง AIK อย่างไรก็ตามฉันได้ติดตั้งภาพตัวอย่าง WMF5 แล้ว อาจจะให้มันได้หรือไม่ โมดูลถูกโหลดจากC:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett

4

การพยายามเรียกใช้ PowerShell จาก Windows 7/8 จะทำให้คุณได้รับสิ่งนี้:

Get-WindowsFeature: เป้าหมายของ cmdlet ที่ระบุไม่สามารถเป็นระบบปฏิบัติการบนไคลเอนต์ Windows

dism เป็นวิธีเดียวที่ฉันพบว่าใช้งานได้


2

เพิ่มคุณสมบัติ ServerManager ด้วยตนเอง จากนั้นคุณสามารถเพิ่มเซิร์ฟเวอร์โมดูลผู้จัดการ:

ผู้จัดการเซิร์ฟเวอร์โมดูลนำเข้า

ได้รับ windowsfeature


1
คุณจะเพิ่มคุณสมบัติ ServerManager แยกจากกันอย่างไร?
fschwiet

2
นี้จะทำงานสำหรับ Windows 2008R2 และใหม่กว่า แต่ไม่ได้สำหรับ Windows 7
Trondh

2
ocsetup.exe /?

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


-1

สำหรับส่วน Powershell ให้เปิดพรอมต์ 'Windows Powershell Modules' แล้วป้อน

PS1> คุณลักษณะเพิ่มเติมของ Windows [ชื่อคุณลักษณะ]

เช่น

SMTP สำหรับเซิร์ฟเวอร์ Add-WindowsFeature

Get-WindowsFeature แสดงชื่อของคุณสมบัติที่มีทั้งหมด


1
ฉันค่อนข้างมั่นใจว่าใช้งานได้กับ Windows Server 2008 R2 เท่านั้น
Jeffery Hicks

Jeffery ถูกต้องสิ่งนี้ไม่ทำงานใน windows 7 โดยค่าเริ่มต้น หากคุณรู้วิธีที่จะทำให้มันทำงานได้ฉันอยากจะรู้
Chris Magnuson

-1

คุณสามารถใช้เซสชันระยะไกลจาก Windows 7 ไปยังกล่อง Windows Server 2008 R2 และเรียกใช้ Add-WindowsFeature ฉันไม่สามารถค้นหาได้บน Win7 แม้จะติดตั้ง RSAT แล้วก็ตาม


1
นั่นจะไม่เพิ่มฟีเจอร์นี้ไปยังกล่อง Windows Server 2008 R2 และไม่ใช่อินสแตนซ์ของ Windows 7 ในเครื่องใช่ไหม ถ้าไม่ได้โปรดอธิบาย
Chris Magnuson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.