Wie schalte ich Windows-Funktionen mithilfe von Powershell oder Befehlszeile in Windows 7 ein oder aus?

11

Ich habe sysocmgrin Windows XP, servermanagercmdin Server 2008, ein Skript ausgeführt , und jetzt muss ich ein neues PowerShell-Modul verwenden servermanager, um Funktionen auf Server 2008 R2 zu installieren. Daher würde ich erwarten, dass ich dasselbe Modul in Windows 7 verwenden würde, aber dies ist nicht der Fall Dort.

Wie kann ich Windows-Funktionen über die Befehlszeile oder PowerShell in Windows 7 installieren?

Chris Magnuson
quelle
Die Zeit hat endlich einen Weg mit Powershell geboten, meine Antwort ist unten.
MDMoore313

Antworten:

6

Für eine echte Powershell-Erfahrung müssen Sie das Windows AIK für 8.0 herunterladen und das verwenden dism module. Es ist in gefunden

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

und Sie können Powershell einfach mit auf diesen Ordner zeigen

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

Stellen Sie sicher, dass Sie <arch> durch die Architektur der Maschine ersetzen, auf der Powershell ausgeführt wird. Dieser DISM-Ordner kann bei Bedarf sogar kopiert und auf Computern verteilt werden (was die Funktionalität betrifft, weiß ich nicht, ob die Weiterverteilung von Microsoft tatsächlich zulässig ist ).

Der spezifische Befehl zum Ausschalten einer optionalen Windows-Funktion lautet

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

Das wird a zurückgeben Microsoft.DISM.Commands.BasicFeatureObject, wie hier zu sehen . Von dort aus können Sie die stateEigenschaft auf deaktiviert setzen, z

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

und bye bye media center. Dies muss natürlich an einer Eingabeaufforderung mit erhöhten Rechten ausgeführt werden, und der -OnlineSchalter bezieht sich auf das aktuell ausgeführte Windows im Gegensatz zu einem Offline-Image.

Außerdem erfordert dieses Modul WMF 3.0 und das erfordert .NET 4.0, nur FYI.

MDMoore313
quelle
1
Ich konnte Enable-WindowsOptionalFeature -FeatureName NetFx3 -Onlineauf einem Windows 8.1-Computer ausgeführt werden, ohne das AIK zu installieren. Ich hatte jedoch die WMF5-Vorschau installiert; vielleicht bietet das es? Das Modul wird vonC:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett
4

Wenn Sie versuchen, PowerShell unter Windows 7/8 auszuführen, erhalten Sie nur Folgendes:

Get-WindowsFeature: Das Ziel des angegebenen Cmdlets kann kein Windows-Client-basiertes Betriebssystem sein.

dism ist der einzige Weg, den ich gefunden habe, der funktioniert.

n1nj4
quelle
2

Fügen Sie die ServerManager-Funktion manuell hinzu. Dann können Sie das Servermanager-Modul hinzufügen:

Import-Modul Servermanager

get-windowsfeature


quelle
1
Wie würden Sie die ServerManager-Funktion separat hinzufügen?
fschwiet
2
Dies würde für Windows 2008R2 und neuer funktionieren, aber nicht für Windows 7.
Trondh
2
ocsetup.exe /?

Zusätzlich zu dism können Sie anscheinend auch ocsetup verwenden, das standardmäßig unter Windows Vista und Windows Server 2008 installiert ist. Wenn Sie ein Skript erstellen möchten, das für alle drei Funktionen funktioniert, ist dies wahrscheinlich der richtige Weg.

Chris Magnuson
quelle
-1

Öffnen Sie für den Powershell-Teil die Eingabeaufforderung 'Windows Powershell-Module' und geben Sie ein

PS1> Add-WindowsFeature [Funktionsname]

z.B

Add-WindowsFeature SMTP-Server

Get-WindowsFeature zeigt Ihnen die Namen aller verfügbaren Funktionen

user25572
quelle
1
Ich bin mir ziemlich sicher, dass dies nur unter Windows Server 2008 R2 funktioniert.
Jeffery Hicks
Jeffery ist richtig, dies funktioniert standardmäßig nicht in Windows 7. Wenn Sie wissen, wie Sie es zum Laufen bringen können, würde ich gerne wissen.
Chris Magnuson
-1

Sie können eine Remotesitzung von Windows 7 zu einer Windows Server 2008 R2-Box verwenden und Add-WindowsFeature ausführen. Ich konnte es unter Win7 nicht finden, obwohl RSAT installiert war.

Jeffery Hicks
quelle
1
Würde das nicht die Funktion zur Windows Server 2008 R2-Box und nicht zur lokalen Windows 7-Instanz hinzufügen? Wenn nicht, bitte erklären.
Chris Magnuson