Question
[Résolu] Problème d'execution à distance
- Quentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 10 ans 5 mois #14634
par Quentin
[Résolu] Problème d'execution à distance a été créé par Quentin
Bonjour à tous,
J'aimerai faire un script permettant de déplacer a distance des ordinateurs d'une OU à une autre.
Jusqu'à la tout va bien sauf que : Je dois le faire depuis un compte local (Administrateur) d'un PC. Je ne peux avoir accès qu'à l'AD depuis un compte admin de domaine.
Pour facilité le script, je le lance depuis un batch.
Fichier 2.ps1
[code:1]#Regarde le nom du PC
#$NAME = (Get-WmiObject Win32_ComputerSystem).name
$cred = Get-Credential
Enter-PSSession -ComputerName norbert -Credential $cred
$test = Read-Host \"Nom du PC \"
# AD DEPLACER UN PC DE COMPUTER VERS GERERPARSCE
$obj = [ADSI] 'LDAP://OU=xxxxx,DC=xxxx,DC=xxx'
$obj.MoveHere(\"LDAP://CN=$test,CN=xxxx,DC=xxxx,DC=xxx\", \"CN=$test\"«»)
exit[/code:1]
Fichier installPart2.bat
[code:1]@echo off
:: Ici on défini les droits d'éxecution pour les script powershell
powershell Set-ExecutionPolicy Unrestricted
powershell C:\2.ps1 -Verb runAs
:: On remet les droits d'éxecution en restricted
powershell Set-ExecutionPolicy Restricted
cd C:\
del 1.ps1
del 2.ps1
del installPart1.bat
:: On a fini les scripts, on les delete.
echo Les script sont fini.
pause
del installPart2.bat[/code:1]
Le script se déroule bien quand je l’exécute depuis un console powershel en ADMIN (et que je copie/colle les commande une à une), mais lorsque que je veux l'executer depuis le script batch (en admin lui aussi) il me met une erreur de récupération du membre...
Merci d'avance de votre précieuse aide.
Quentin.<br><br>Message édité par: quentin96, à: 25/04/13 09:52
J'aimerai faire un script permettant de déplacer a distance des ordinateurs d'une OU à une autre.
Jusqu'à la tout va bien sauf que : Je dois le faire depuis un compte local (Administrateur) d'un PC. Je ne peux avoir accès qu'à l'AD depuis un compte admin de domaine.
Pour facilité le script, je le lance depuis un batch.
Fichier 2.ps1
[code:1]#Regarde le nom du PC
#$NAME = (Get-WmiObject Win32_ComputerSystem).name
$cred = Get-Credential
Enter-PSSession -ComputerName norbert -Credential $cred
$test = Read-Host \"Nom du PC \"
# AD DEPLACER UN PC DE COMPUTER VERS GERERPARSCE
$obj = [ADSI] 'LDAP://OU=xxxxx,DC=xxxx,DC=xxx'
$obj.MoveHere(\"LDAP://CN=$test,CN=xxxx,DC=xxxx,DC=xxx\", \"CN=$test\"«»)
exit[/code:1]
Fichier installPart2.bat
[code:1]@echo off
:: Ici on défini les droits d'éxecution pour les script powershell
powershell Set-ExecutionPolicy Unrestricted
powershell C:\2.ps1 -Verb runAs
:: On remet les droits d'éxecution en restricted
powershell Set-ExecutionPolicy Restricted
cd C:\
del 1.ps1
del 2.ps1
del installPart1.bat
:: On a fini les scripts, on les delete.
echo Les script sont fini.
pause
del installPart2.bat[/code:1]
Le script se déroule bien quand je l’exécute depuis un console powershel en ADMIN (et que je copie/colle les commande une à une), mais lorsque que je veux l'executer depuis le script batch (en admin lui aussi) il me met une erreur de récupération du membre...
Merci d'avance de votre précieuse aide.
Quentin.<br><br>Message édité par: quentin96, à: 25/04/13 09:52
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 10 ans 5 mois #14642
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Problème d'execution à distance
Bonjour,
Peux tu poster ici le message d'erreur exact que tu récupères, entre balises [ c o d e] ?
@ +
Matthew BETTON
Peux tu poster ici le message d'erreur exact que tu récupères, entre balises [ c o d e] ?
@ +
Matthew BETTON
Connexion ou Créer un compte pour participer à la conversation.
- Quentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 10 ans 5 mois #14648
par Quentin
Réponse de Quentin sur le sujet Re:Problème d'execution à distance
Salut,
Merci de ta réponse rapide.
Le code erreur est :
[code:1]L'exception suivante s'est produite lors de la récupération du membre « MoveHer
e » : « Le domaine spécifié n'existe pas ou n'a pas pu être contacté.
»
Au niveau de C:\2.ps1 : 10 Caractère : 14
+ $obj.MoveHere <<<< (\"LDAP://CN=$test,CN=Computers,DC=xxxx,DC=xxx\", \"CN=$test\"
)
+ CategoryInfo : NotSpecified: (:«») [], ExtendedTypeSystemExceptio
n
+ FullyQualifiedErrorId : CatchFromBaseGetMember
[/code:1]
A++<br><br>Message édité par: quentin96, à: 23/04/13 14:44
Merci de ta réponse rapide.
Le code erreur est :
[code:1]L'exception suivante s'est produite lors de la récupération du membre « MoveHer
e » : « Le domaine spécifié n'existe pas ou n'a pas pu être contacté.
»
Au niveau de C:\2.ps1 : 10 Caractère : 14
+ $obj.MoveHere <<<< (\"LDAP://CN=$test,CN=Computers,DC=xxxx,DC=xxx\", \"CN=$test\"
)
+ CategoryInfo : NotSpecified: (:«») [], ExtendedTypeSystemExceptio
n
+ FullyQualifiedErrorId : CatchFromBaseGetMember
[/code:1]
A++<br><br>Message édité par: quentin96, à: 23/04/13 14:44
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 10 ans 5 mois #14652
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Problème d'execution à distance
Tu rencontre un problème de contexte d'exécution.
Les lignes :
[code:1]$cred = Get-Credential
Enter-PSSession -ComputerName norbert -Credential $cred[/code:1]
Ne permettent pas l'exécution du code qui suit (toujours dans 2.ps1) sur la machine distante.
Le mécanisme que tu utilises, via un batch qui exécute un script PowerShell, me paraît étrange et complexe. Il peut être simplifié en quelque chose comme ceci :
[code:1]
$Credential = Get-Credential
$test = Read-Host \"Nom du PC \"
$ScriptBlock = {
param($PCName)
$obj = [ADSI] 'LDAP://CN=$PCName,OU=xxxxx,DC=xxxx,DC=xxx'
$obj.MoveHere(\"LDAP://OU=xxx,DC=xxxx,DC=xxx\", \"CN=$PCName\"«»)
}
Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $test -ComputerName norbert -Credential $Credential
[/code:1]
La Cmdlet 'Invoke-Command' va exécuter le ScriptBlock '$ScriptBlock' sur la machine nommée 'norbert'. On passe le nom du PC à déplacer en argument du ScriptBlock.
Le contexte d'exécution du ScriptBlock sera celui donné lors de la récupération du Credential (à priori, un compte Admin du domaine concerné).
Les lignes :
[code:1]$cred = Get-Credential
Enter-PSSession -ComputerName norbert -Credential $cred[/code:1]
Ne permettent pas l'exécution du code qui suit (toujours dans 2.ps1) sur la machine distante.
Le mécanisme que tu utilises, via un batch qui exécute un script PowerShell, me paraît étrange et complexe. Il peut être simplifié en quelque chose comme ceci :
[code:1]
$Credential = Get-Credential
$test = Read-Host \"Nom du PC \"
$ScriptBlock = {
param($PCName)
$obj = [ADSI] 'LDAP://CN=$PCName,OU=xxxxx,DC=xxxx,DC=xxx'
$obj.MoveHere(\"LDAP://OU=xxx,DC=xxxx,DC=xxx\", \"CN=$PCName\"«»)
}
Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $test -ComputerName norbert -Credential $Credential
[/code:1]
La Cmdlet 'Invoke-Command' va exécuter le ScriptBlock '$ScriptBlock' sur la machine nommée 'norbert'. On passe le nom du PC à déplacer en argument du ScriptBlock.
Le contexte d'exécution du ScriptBlock sera celui donné lors de la récupération du Credential (à priori, un compte Admin du domaine concerné).
Connexion ou Créer un compte pour participer à la conversation.
- Quentin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 10 ans 5 mois #14670
par Quentin
Réponse de Quentin sur le sujet Re:Problème d'execution à distance
Salut.
Merci pour la cmdlet. Le script fonctionne maintenant.
Au passage, est-ce que avec ce script toujours, je pourrai exécuter du code powershell pour AD ? Car il faudrait que ce même PC soit membre d'un groupe (appellé SCE Managed Group).
Encore merci.
Quentin
Merci pour la cmdlet. Le script fonctionne maintenant.
Au passage, est-ce que avec ce script toujours, je pourrai exécuter du code powershell pour AD ? Car il faudrait que ce même PC soit membre d'un groupe (appellé SCE Managed Group).
Encore merci.
Quentin
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 10 ans 5 mois #14672
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Problème d'execution à distance
Salut,
quentin96 écrit:
Je ne sais pas répondre à ta question ...
@ +
Matthew BETTON
quentin96 écrit:
Salut.
Au passage, est-ce que avec ce script toujours, je pourrai exécuter du code powershell pour AD ? Car il faudrait que ce même PC soit membre d'un groupe (appellé SCE Managed Group).
Je ne sais pas répondre à ta question ...
@ +
Matthew BETTON
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Problème d'execution à distance