2010-06-29 2 views
3

Je dois accorder un compte spécifique SERVICE_START permissions pour un service Windows donné.Comment définir les autorisations des services Windows à partir de Powershell?

Il semble y avoir quelques méthodes pour le faire here, mais préférerait une méthode qui est native à PowerShell et ne nécessite pas d'outils externes, par ex. en utilisant les cmdlets Get/Set-ACL ou en appelant une API .NET.

Est-ce que quelqu'un sait comment le faire de cette façon? Merci d'avance.

Répondre

2

Je pense que pour cela, vous devriez regarder en utilisant subinacl.exe que vous pouvez download here. À partir du site télécharger ce qu'il est décrit comme:

SubInACL est un outil de ligne de commande qui permet aux administrateurs d'obtenir informations de sécurité sur les fichiers, clés de registre et des services, et transférer ces informations d'utilisateur utilisateur, du groupe local ou global au groupe et de domaine à domaine.

Son utilisation de PowerShell semble être assez facile:

SUBINACL /verbose=1 /service Spooler /grant=PC\Joe=LQSTOP 

Vérifiez cette article on using subinacl que Mark Minasi a écrit ..

+0

Merci Keith. Bien que cela soit utile, il n'est pas officiellement pris en charge par Windows Server 2008 et versions ultérieures, ce qui le rend inéligible dans notre centre de données. Merci quand même! – Ariel

1

question froide mérite une réponse partielle.

Découvrez http://get-carbon.org/

Si vous ne souhaitez pas installer le carbone sur un serveur de production chercher alors la source (licence Apache 2.0) et voyez si vous pouvez utiliser le code .NET pour vos propres appareils. Si j'avais le temps je développerais cette réponse pour inclure le code d'exemple mais pour maintenant voir ces deux parties du dépôt.

Powershell CmdLet https://bitbucket.org/splatteredbits/carbon/src/29f5983094d048030d6143923f4a6925d1a1a195/Carbon/Service/Grant-ServicePermission.ps1?at=default

utilise un objet .Net (en utilisant le système) https://bitbucket.org/splatteredbits/carbon/src/29f5983094d048030d6143923f4a6925d1a1a195/Source/Security/ServiceAccessRights.cs?at=default

A partir de ce qu'il devrait être un saut de saut et un saut d'écrire votre propre Powershell v3 + appel natif.

Questions connexes