Question

Je cherche un moyen de modifier par programme les fonctionnalités ("Programmes et fonctionnalités" - > "Activer ou désactiver les fonctionnalités Windows") dans Windows Vista (et le système d'exploitation Redmond plus récent, par exemple Server 2008).

La solution idéale consisterait en un script Powershell (Get-Features, Set-Features). Toutefois, tout pointeur vers MSDN / une autre documentation serait le bienvenu! (ma première recherche rapide Google / StackOverflow était vide).

Disposer d’un moyen automatique d’activation ou de désactivation des fonctionnalités me permettrait d’automatiser la configuration de l’ordinateur pour différents scénarios. Par exemple, pour développer des applications ASP.NET à l'aide d'IIS, il faut installer un ensemble de fonctionnalités IIS qui ne sont pas installées par défaut. Mon processus actuel consistant à "Assurez-vous au moins que les fonctionnalités présentées dans cette capture d'écran sont cochées". laisse beaucoup à désirer.

Était-ce utile?

La solution

Je viens de trouver une extension compatible avec Windows 7. "Module PowerShell permettant d’ajouter ou de supprimer des fonctionnalités Windows 7". - https://psclientmanager.codeplex.com/

Autres conseils

Dans Windows Server 2008, il existe la commande ServerManagerCmd . Cela peut installer IIS avec ou sans les sous-fonctionnalités souhaitées. Vous pouvez également installer / désinstaller la plupart des principales fonctionnalités de Windows.

  1. Vous pouvez configurer votre serveur comme vous le souhaitez, puis exécuter ServerManagerCmd -query template.xml. Ceci exporte la configuration dans un fichier XML.
  2. Vous devez transforme le fichier pour le préparer à une utilisation sur d'autres serveurs
  3. Copiez le fichier transformé sur le serveur que vous souhaitez configurer et exécutez ServerManagerCmd -inputPath transformTemplate.xml

Pour cela, sous Vista et Windows 2008, utilisez l'outil de ligne de commande PKGMGR. Recherchez cet outil dans MSDN pour trouver une liste de fonctionnalités / packages.

On dirait que Powershell V2 sur serveur 2008 R2 (version bêta) a un module qui fait exactement cela. Espérons que Windows 7 aura cette fonctionnalité aussi ...

Pour plus de détails, voir Gestion des fonctionnalités de serveur avec des applets de commande PowerShell sous Windows 2008 Server R2 Bêta

Malheureusement, il n'y a pas encore de jeu de cmdlets, ni rien dans WMI ni dans aucune autre zone facilement accessible. Il est intéressant de noter que les fonctionnalités de gestion des rôles basées sur script de Server Core ne fonctionneront que sur Server Core :). Windows 7 peut apporter un certain soulagement à cet égard - mais cela pourrait également ne pas l'être. En attendant, il ne vous reste plus que les API Win32 natives mentionnées dans l’autre réponse.

Soit dit en passant, je tiens à souligner que MS a délibérément refusé que les applications installent des fonctionnalités majeures du système d'exploitation en raison de considérations de sécurité. L'ajout d'IIS n'est pas quelque chose qui se fait à la légère, et cela implique des considérations de sécurité et des responsabilités. Observez les configurations d’applications propres à MS, qui vérifient les pré-demandes de ce type, mais ne proposent pas de les installer pour vous. Bien que je comprenne vouloir rendre la configuration de votre application aussi simple que possible, il est également préjudiciable d'introduire des fonctionnalités majeures dans le système d'exploitation sous le nez de quelqu'un :). Personnellement, je préférerais que les applications fassent preuve de prudence, me disent ce dont elles ont besoin et me permettent de décider de la manière et du type d'installation à installer, en particulier des fonctionnalités majeures permettant d'ouvrir des ports et d'exécuter du code arbitraire, comme IIS. .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top