Comment activer ou désactiver les fonctionnalités Windows à l'aide de PowerShell ou de la ligne de commande dans Windows 7?

11

J'ai fait un script sysocmgrdans Windows XP, servermanagercmddans le serveur 2008, et maintenant je trouve que je dois utiliser un nouveau module PowerShell servermanagerpour installer des fonctionnalités sur Server 2008 R2 et donc je m'attendrais à ce que j'utilise le même module dans Windows 7 mais ce n'est pas Là.

Comment puis-je installer les fonctionnalités Windows à l'aide de la ligne de commande ou de PowerShell dans Windows 7?

Chris Magnuson
la source
Le temps a enfin fourni un moyen d'utiliser PowerShell, ma réponse est ci-dessous.
MDMoore313

Réponses:

6

Pour une véritable expérience PowerShell, vous devez télécharger Windows AIK pour 8.0 et utiliser le dism module. Il se trouve dans

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

et vous pouvez simplement pointer PowerShell vers ce dossier avec

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

Assurez-vous de remplacer <arch> par l'architecture de la PowerShell de la machine en cours d'exécution. Ce dossier DISM peut même être copié et redistribué aux machines si besoin est (en parlant de fonctionnalité, je ne sais pas si la redistribution est réellement autorisée par Microsoft).

La commande spécifique pour lancer une fonctionnalité facultative de Windows est

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

Cela retournera un Microsoft.DISM.Commands.BasicFeatureObject, comme on le voit ici . De là, vous pouvez définir la statepropriété sur désactivé, comme

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

et bye bye media center. Bien sûr, cela doit être exécuté à partir d'une invite élevée, et le -Onlinecommutateur fait référence à Windows en cours d'exécution, par opposition à une image hors ligne.

En outre, ce module nécessite WMF 3.0 et cela nécessite .NET 4.0, juste FYI.

MDMoore313
la source
1
J'ai pu exécuter Enable-WindowsOptionalFeature -FeatureName NetFx3 -Onlinesur une machine Windows 8.1 sans installer l'AIK. J'ai cependant installé l'aperçu WMF5; peut-être que cela le fournit? Le module est chargé deC:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett
4

Tenter d'exécuter PowerShell à partir de Windows 7/8 ne vous apportera que ceci:

Get-WindowsFeature: la cible de l'applet de commande spécifiée ne peut pas être un système d'exploitation client Windows.

dism est la seule façon dont j'ai trouvé que cela fonctionne.

n1nj4
la source
2

Ajoutez manuellement la fonction ServerManager. Ensuite, vous pouvez ajouter le module servermanager:

servermanager module d'importation

get-windowsfeature


la source
1
comment ajouteriez-vous la fonctionnalité ServerManager séparément?
fschwiet
2
Cela fonctionnerait pour Windows 2008R2 et plus récent, mais pas pour Windows 7.
Trondh
2
ocsetup.exe /?

En plus de démonter, vous pouvez également utiliser ocsetup qui est installé par défaut sur Windows Vista et Windows Server 2008. Si vous cherchiez à créer un script pour quelque chose qui fonctionne sur les trois, alors ce serait probablement la voie à suivre.

Chris Magnuson
la source
-1

Pour la partie Powershell, ouvrez l'invite «Modules Windows Powershell» et entrez

PS1> Add-WindowsFeature [nom de la fonctionnalité]

par exemple

Add-WindowsFeature SMTP-Server

Get-WindowsFeature vous montre les noms de toutes les fonctionnalités disponibles

user25572
la source
1
Je suis presque sûr que cela ne fonctionne que sur Windows Server 2008 R2.
Jeffery Hicks
Jeffery est correct, cela ne fonctionne pas dans Windows 7 par défaut. Si vous connaissez un moyen de le faire fonctionner, j'aimerais le savoir.
Chris Magnuson
-1

Vous pouvez utiliser une session distante de Windows 7 vers une boîte Windows Server 2008 R2 et exécuter Add-WindowsFeature. Je n'ai pas pu le trouver sur Win7 même avec RSAT installé.

Jeffery Hicks
la source
1
Cela n'ajouterait-il pas la fonctionnalité à la boîte Windows Server 2008 R2 et non à l'instance locale de Windows 7? Sinon, veuillez expliquer.
Chris Magnuson