Question
Droits admin du domaine en remote scripting
- Beaudier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 15 ans 3 mois #8135
par Beaudier
Droits admin du domaine en remote scripting a été créé par Beaudier
Bonjour
Je viens de mettre en place du remote scripting pour powershell.
Voici ma configuration :
- Windows Server 2003 SP2, N'est PAS contrôleur de domaine, adhéré au domaine ELEVES
- Windows Seven x64, ma machine, adhérée au domaine ADM
J'ai exécuté Set-ExecutionPolicty Unrestricted pour ne pas être embêté par les signatures;
J'ai configuré WinRM;
J'ai fixé TrustedHost = * des deux côtés;
Mon compte (ADM/Cedric EST admin du domaine ADM) possède un équivalent avec le même mot de passe (ELEVES/Cedric EST admin du domaine ELEVES);
Les deux domaines ne possèdent aucune approbations (forêts distinctes);
Ma console PowserShell ISE est exécuté avec les droits administrateurs.
Le Enter-PSSession fonctionne, que je précise le domaine ELEVES ou non;
Mes commandes sont effectivement exécutées sur le serveur cible;
Je semble effectivement être administrateur local du serveur (je peux supprimer certains fichiers, je peux arrêter des services, ect);
Mais je ne peux pas effectuer les tâches d'un administrateur du domaine, comme par exemple parcourir les partages d'une machine adhérée à ELEVES, j'obtiens \"L'erreur systŠme 5 s'est produite\". La même commande exécutée localement fonctionne sans souci, exécutée dans la session ELEVES/Cedric.
Conclusion, mes droits d'administrateur du domaine ne sont pas reportés sur ma session distante Powershell. Comment faire pour manipuler un domaine à distance via Powershell (sachant que la machine cliente appartient à un autre domaine) ?
Sur le serveur je peux voir wsmprovhost.exe, qui est lancé avec le compte \"cedric\". TASKLIST /V indique même que la tâche est exécuté en tant que ELEVES/CEDRIC.
Autre petite question, comment faire pour que les caractères accentués soit bien retransmis dans une session distante ? J'ai essayé avec $PSSessionOption.UICulture = Get-Culture...
Merci d'avance
Message édité par: Baud, à: 25/11/10 13:31
Message édité par: Baud, à: 25/11/10 13:31<br><br>Message édité par: Baud, à: 25/11/10 13:34
Je viens de mettre en place du remote scripting pour powershell.
Voici ma configuration :
- Windows Server 2003 SP2, N'est PAS contrôleur de domaine, adhéré au domaine ELEVES
- Windows Seven x64, ma machine, adhérée au domaine ADM
J'ai exécuté Set-ExecutionPolicty Unrestricted pour ne pas être embêté par les signatures;
J'ai configuré WinRM;
J'ai fixé TrustedHost = * des deux côtés;
Mon compte (ADM/Cedric EST admin du domaine ADM) possède un équivalent avec le même mot de passe (ELEVES/Cedric EST admin du domaine ELEVES);
Les deux domaines ne possèdent aucune approbations (forêts distinctes);
Ma console PowserShell ISE est exécuté avec les droits administrateurs.
Le Enter-PSSession fonctionne, que je précise le domaine ELEVES ou non;
Mes commandes sont effectivement exécutées sur le serveur cible;
Je semble effectivement être administrateur local du serveur (je peux supprimer certains fichiers, je peux arrêter des services, ect);
Mais je ne peux pas effectuer les tâches d'un administrateur du domaine, comme par exemple parcourir les partages d'une machine adhérée à ELEVES, j'obtiens \"L'erreur systŠme 5 s'est produite\". La même commande exécutée localement fonctionne sans souci, exécutée dans la session ELEVES/Cedric.
Conclusion, mes droits d'administrateur du domaine ne sont pas reportés sur ma session distante Powershell. Comment faire pour manipuler un domaine à distance via Powershell (sachant que la machine cliente appartient à un autre domaine) ?
Sur le serveur je peux voir wsmprovhost.exe, qui est lancé avec le compte \"cedric\". TASKLIST /V indique même que la tâche est exécuté en tant que ELEVES/CEDRIC.
Autre petite question, comment faire pour que les caractères accentués soit bien retransmis dans une session distante ? J'ai essayé avec $PSSessionOption.UICulture = Get-Culture...
Merci d'avance
Message édité par: Baud, à: 25/11/10 13:31
Message édité par: Baud, à: 25/11/10 13:31<br><br>Message édité par: Baud, à: 25/11/10 13:34
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 3 mois #8139
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Re:Droits admin du domaine en remote scripting
Bonjour Baud, sois le bienvenu dans le forum
!
Pas mal pointue comme toute première question
Tout d'abord sache que ton problème est connu sous les termes \"Double Hop\" en anglais. On peut traduire cela en français par \"double rebond\". On se confronte à cette problématique dès lors qu'on essaie d'administrer une machine distante à partir d'une autre machine distante. Ce qui est ton cas.
Il ne s'agit pas d'un bug mais plutôt d'un problème de conception. Je ne rentrerais pas dans les détails techniques (car je n'en ai pas les compétences) mais en gros lorsque l'on fait du remoting les credentials ne sont pas transmis à l'ordinateur distant. Du coup lui non plus ne peut pas les transmettre à un autre ordinateur distant, et cela provoque invariablement un \"accès refusé\".
J'ai fait quelques tests sur ma maquette (je suis connecté en Wifi dans un hotel à partir de mon portable en Workgroup et 'j'attaque' un serveur qui se trouve chez moi et qui est membre d'un domaine), et je suis parvenu à trouver une solution.
Il faut faire appel au mécanisme CredSSP; celui-ci permet je cite : \"CredSSP enables an application to delegate the user’s credentials from the client (by using the client-side SSP) to the target server (through the server-side SSP).\"
Voici la marche à suivre :
Sur le client :
1. Activer le rôle client CredSSP :
[code:1]PS > Enable-WSManCredSSP -role client -DelegateComputer *[/code:1]
2. Modifier une stratégie locale via gpedit.msc
stratégie suivante : Configuration de l'ordinateur -> Modèles d'administration -> Système -> Délégation d'informations d'identification -> Autoriser les nouvelles informations d'identification avec l'authentification du serveur NTLM uniquement. Vérifiez qu'elle est activée et configurée avec la valeur *.
Sur le serveur (celui avec lequel on veut rebondir) :
3. Activer le rôle serveur CredSSP :
[code:1]PS > Enable-WSManCredSSP -Role server[/code:1]
Enfin pour tester la connexion (à faire sur le client):
[code:1]PS > $s = new-pssession -ComputerName 78.243.177.30 -cred (get-credential) -Authentication CredSSP[/code:1]Saisir les credentials de la machine distante sous la forme : Administrator (car visiblement ne tient pas compte du domaine si passé DOMAINE\login)
Puis
[code:1]PS > Enter-PSSession $s[/code:1]
Et la magie devrait opérer...
Sache que chez moi ça fonctionne. Sache aussi que je ne me suis pas trop préoccupé de la sécurité. Il y a certainement moyen de faire mieux, mais je tenais d'abord à voir si on pouvait y arriver. J'avais des doutes sur la réussite quand au fait de faire cette manipulation entre des machines qui n'appartiennent pas au même domaine.
Dis moi si ça marche ! Quand à ton second problème, peux tu ouvrir un autre fil de discussion et détailler un peu plus ton problème car j'avoue ne pas l'avoir bien compris.
@+
Arnaud<br><br>Message édité par: Arnaud, à: 26/11/10 00:36
Pas mal pointue comme toute première question
Tout d'abord sache que ton problème est connu sous les termes \"Double Hop\" en anglais. On peut traduire cela en français par \"double rebond\". On se confronte à cette problématique dès lors qu'on essaie d'administrer une machine distante à partir d'une autre machine distante. Ce qui est ton cas.
Il ne s'agit pas d'un bug mais plutôt d'un problème de conception. Je ne rentrerais pas dans les détails techniques (car je n'en ai pas les compétences) mais en gros lorsque l'on fait du remoting les credentials ne sont pas transmis à l'ordinateur distant. Du coup lui non plus ne peut pas les transmettre à un autre ordinateur distant, et cela provoque invariablement un \"accès refusé\".
J'ai fait quelques tests sur ma maquette (je suis connecté en Wifi dans un hotel à partir de mon portable en Workgroup et 'j'attaque' un serveur qui se trouve chez moi et qui est membre d'un domaine), et je suis parvenu à trouver une solution.
Il faut faire appel au mécanisme CredSSP; celui-ci permet je cite : \"CredSSP enables an application to delegate the user’s credentials from the client (by using the client-side SSP) to the target server (through the server-side SSP).\"
Voici la marche à suivre :
Sur le client :
1. Activer le rôle client CredSSP :
[code:1]PS > Enable-WSManCredSSP -role client -DelegateComputer *[/code:1]
2. Modifier une stratégie locale via gpedit.msc
stratégie suivante : Configuration de l'ordinateur -> Modèles d'administration -> Système -> Délégation d'informations d'identification -> Autoriser les nouvelles informations d'identification avec l'authentification du serveur NTLM uniquement. Vérifiez qu'elle est activée et configurée avec la valeur *.
Sur le serveur (celui avec lequel on veut rebondir) :
3. Activer le rôle serveur CredSSP :
[code:1]PS > Enable-WSManCredSSP -Role server[/code:1]
Enfin pour tester la connexion (à faire sur le client):
[code:1]PS > $s = new-pssession -ComputerName 78.243.177.30 -cred (get-credential) -Authentication CredSSP[/code:1]Saisir les credentials de la machine distante sous la forme : Administrator (car visiblement ne tient pas compte du domaine si passé DOMAINE\login)
Puis
[code:1]PS > Enter-PSSession $s[/code:1]
Et la magie devrait opérer...
Sache que chez moi ça fonctionne. Sache aussi que je ne me suis pas trop préoccupé de la sécurité. Il y a certainement moyen de faire mieux, mais je tenais d'abord à voir si on pouvait y arriver. J'avais des doutes sur la réussite quand au fait de faire cette manipulation entre des machines qui n'appartiennent pas au même domaine.
Dis moi si ça marche ! Quand à ton second problème, peux tu ouvrir un autre fil de discussion et détailler un peu plus ton problème car j'avoue ne pas l'avoir bien compris.
@+
Arnaud<br><br>Message édité par: Arnaud, à: 26/11/10 00:36
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.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 3 mois #8140
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Re:Droits admin du domaine en remote scripting
Juste une précision qui peut avoir son importance : je crois que ça ne va pas fonctionner pour ton cas car visiblement le mécanisme CredSSP n'est pas supporté sur Windows Server 2003.
Voir à la fin de ce billet : How to install Update Rollups remotely on Exchange 2010 server
Sur ma plateforme mon client et mon serveur sont sous Windows Server 2008 R2.
A tester...
Arnaud
Voir à la fin de ce billet : How to install Update Rollups remotely on Exchange 2010 server
Sur ma plateforme mon client et mon serveur sont sous Windows Server 2008 R2.
A tester...
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.
- Beaudier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 15 ans 3 mois #8142
par Beaudier
Réponse de Beaudier sur le sujet Re:Droits admin du domaine en remote scripting
Bonjour
Merci pour cette réponse. J'avais regardé l'aide complète de Enter-PSSession, et j'avais vu le CredSSP que j'avais éliminé d'office puisque nos serveurs sont sous Windows 2003.
En effet, la commande permettant d'activer ce type d'authentification retourne l'erreur que l'OS n'est pas supporté.
Du coup je ne sais comment faire.
Je poste le second problème dans un nouveau thread.
Merci
Merci pour cette réponse. J'avais regardé l'aide complète de Enter-PSSession, et j'avais vu le CredSSP que j'avais éliminé d'office puisque nos serveurs sont sous Windows 2003.
En effet, la commande permettant d'activer ce type d'authentification retourne l'erreur que l'OS n'est pas supporté.
Du coup je ne sais comment faire.
Je poste le second problème dans un nouveau thread.
Merci
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Droits admin du domaine en remote scripting