Question
compte administrateur local
- ninjax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
Mon besoin est de pouvoir lancer un script pour relancer un service, à partir d'un PC lambda, mais sans que la personne ait besoin d'avoir le mot de passe du compte local.
Avec un compte du domaine ayant les droits administrateur local pas de soucis. Par contre, je n'arrive pas à lancer avec le compte \"administrateur\" local du serveur distant.
Voici mon code : [code:1]$Server = Read-Host -Prompt 'Entrez votre nom de serveur'
$Service = Read-Host -Prompt 'Entrez le nom du service'
Write-Host \"Démarrage de '$Service' sur '$Server'\"
$secpass=ConvertTo-SecureString -string \"motdepasse\" -asPlaintext -Force;
$cred= New-Object System.Management.Automation.PSCredential(\"administrateur\",$secpass)
Invoke-Command -ComputerName nom_serveur -ScriptBlock {param ($parmservice) Start-Service $parmservice -passthru} -ArgumentList nom_service -Credential $cred -
Sleep 3[/code:1]
Voici le message d'erreur :
La connexion au serveur distant servwsus a échoué avec le message d’erreur suivant: Le nom d’utilisateur ou le mot de passe est incorrect. Pour plus d'informations, voir la rubrique
d'aide about_Remote_Troubleshooting.
+ CategoryInfo : OpenError: (servwsus:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : LogonFailure,PSSessionStateBroken
J'ai l'impression qu'il utilise le compte administrateur du domaine et non celui local. Pouvez-vous m'aider ou m'orienter ?
Merci beaucoup
P.s : J'encrypterais plus tard le mot de passe.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
pour être sur que le compte local soit pris il te faut utilisé une des syntaxes suivantes pour le login :J'ai l'impression qu'il utilise le compte administrateur du domaine et non celui local. Pouvez-vous m'aider ou m'orienter ?
soit le point avant le login :[code:1]\".\administrateur\"[/code:1]soit d'utilisé le nom du serveur :
[code:1]\"monserveur\administrateur\"[/code:1]ou dans ton cas [code:1]\"$server\administrateur\"[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- ninjax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
J'avais déjà essayé les trois propositions que tu m'as donné. J'ai omis de le signaler
J'ai un autre message d'erreur :
[code:1]La connexion au serveur distant server a échoué avec le message d’erreur suivant: WinRM ne peut pas traiter la demande. L’erreur suivante s’est produite avec le code
d’erreur 0x80090311 lors de l’utilisation de l’authentification Kerberos: Aucun serveur d’accès n’est actuellement disponible pour traiter la demande d’ouverture de session.
Causes possibles :
-Le nom d’utilisateur ou le mot de passe spécifié n’est pas valide.
-Kerberos est utilisé alors qu’aucune méthode d’authentification ni aucun nom d’utilisateur ne sont spécifiés.
-Kerberos accepte les noms d’utilisateur de domaine, mais pas les noms d’utilisateur local.
-Le nom de principal du service correspondant au nom et au port de l’ordinateur distant n’existe pas.
-L’ordinateur client et l’ordinateur distant sont dans des domaines différents et il n’existe pas d’approbation entre ces domaines.
Après avoir vérifié les problèmes ci-dessus, essayez les solutions suivantes :
-Consultez les événements liés à l’authentification dans l’Observateur d’événements.
-Changez de méthode d’authentification, ajoutez l’ordinateur de destination au paramètre de configuration TrustedHosts pour WinRM ou utilisez le transport HTTPS.
Notez que les ordinateurs de la liste TrustedHosts ne sont peut-être pas authentifiés.
-Pour plus d’informations sur la configuration de WinRM, exécutez la commande suivante: winrm help config. Pour plus d'informations, voir la rubrique d'aide
about_Remote_Troubleshooting.
+ CategoryInfo : OpenError: (servwsus:«»String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : AuthenticationFailed,PSSessionStateBroken[/code:1]
Je ne vois pas d'où peut provenir le problème vu que ça fonctionne avec les comptes du domaine. L'inverse me paraît plus logique enfin bon...
Connexion ou Créer un compte pour participer à la conversation.
- ninjax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 3
- Remerciements reçus 0
En fait, il fallait activer [code:1]winrm quickconfig[/code:1] sur le serveur ainsi que sur le client. De plus sur le client il faut lancer : [code:1]winrm s winrm/config/client @{TrustedHosts=\"*\"}[/code:1]
Donc mes commandes powershell étaient bonnes !<br><br>Message édité par: ninjax, à: 5/04/16 16:26
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
bonne nouvelle !Donc mes commandes powershell étaient bonnes !
et merci pour ton retour
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
J'avais pas vu que le post était en double, du coup je poste tout de même ma réponse, même si tu as trouvé la solution à ton problème. J'ai viré le doublon pour ne conserver que ce fil.
Tout d'abord, sache qu'il existe le commutateur -asSecureString sur la commande Read-Host qui te permets de récupérer tout de suite une chaîne sécurisée; ce qui est bien mieux en terme de sécurité que de passer par ConvertTo-SecureString :
[code:1]
PS > $password = Read-Host 'Saisir mot de passe ' -AsSecureString
Saisir mot de passe : *******
PS > $password.gettype()
IsPublic IsSerial Name BaseType
----
True False SecureString System.Object
[/code:1]
Ensuite, pour lever tout doute sur un éventuel problème de filtrage réseau, je tenterais directement de démarrer le service ainsi :
[code:1]
Invoke-Command -ComputerName nom_serveur -ScriptBlock {Start-Service MonService} -Credential $cred
[/code:1]
PS : sache que tu peux aussi utiliser la commande Get-Credential pour récupérer directement le couple login/password et un objet \"bien formé\" comme il faut.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- compte administrateur local