Question Comportement different selon Get-service en powers

Plus d'informations
il y a 14 ans 6 mois #10294 par leymonie
Bonjour,

J'ai observé un comportement différent lors de l'interrogation de l'état d'un service Windows avec Powershell et vbs/C#.

La commande [code:1]get-service -name sens -computer toto[/code:1] me retourne l'état du service avec un compte d'utilisateur basic, sans droit particulier.

Par contre, la même requête avec le même compte utilisateur et les mêmes paramètres, en vbs/C#, avec le code ci-dessous, me donne une erreur de droit d'accès :

[code:1]wmiService = new ManagementObject(\"\\\\\" + strNomMachine + \"\\root\\cimv2:Win32_Service.Name='\" + strNomService + \"'\"«»);[/code:1]
    erreur en vbs : 800A0046

    (2, 1) Erreur d'exécution Microsoft VBScript: Permission refusée: 'GetObject'
    erreur en C#

    mscorlib
    Accès refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED))


Quelqu'un aurait-il une explication ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 5 mois #10303 par Matthew BETTON
Bonsoir,

me retourne l'état du service avec un compte d'utilisateur basic, sans droit particulier.


Je reste assez étonné. Dans un domaine, si le compte utilisateur actuellement en cours d'utilisation n'a pas les droits requis sur la machine distante, tu devrais avoir justement un \"Access Denied\".

De plus, la Cmdlet 'Get-Service' ne prend pas de paramètre '-Credential'. La récupération des services depuis la machine distante se fera donc avec le compte en cours d'utilisation, de manière implicite.

Pour continuer d'utiliser la Cmdlet 'Get-Service' mais avec un login / mot de passe explicite, commence par exécuter la console PowerShell 'en tant que' (cf. \"Run as\") via clique droit sur le raccourci de PowerShell en gardant appuyée la touche Shift, puis sélectionner \"Exécuter en tant qu'autre utilisateur\"...

Autrement, que donne la commande suivante ?

[code:1]Get-WmiObject -Class Win32_Service -ComputerName toto[/code:1]

Ces commandes permettent justement de spécifier un Credential alternatif :

[code:1]
$Credential = Get-Credential Domain\User
Get-WmiObject -Class Win32_Service -ComputerName toto -Credential $Credential[/code:1]

Autres questions : Dans quel contexte es-tu ? Un domaine ? Ou alors, tes machines sont-elles dans un groupe de travail (Workgroup) / un groupe résidentiel ?
Quelle version de Windows ?


@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 21/09/11 21:27

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.071 secondes
Propulsé par Kunena