Auteur de questions
Invoke-Command Sysprep.exe

Question
-
Bonjour,
je commence à désespéré, cela fait plusieurs jour que j'essaie d'éxécuter une commande, mais ça ne marche pas
j'aimerais exécuter un sysprep depuis un serveur distant (HyperV) vers une VM
pour info: les 2 machines, ne sont pas dans le domaine mais dans 2 WorkGroup différent
Quand je lance cette commande, ça marche pas de souci
donc mon en théorie mon Cretential marche !
$UserLocal = ".\Administrateur" $Password = ConvertTo-SecureString -String "MDP" -AsPlainText -Force $CredentialLocal = [pscredential]::new($UserLocal,$Password) Invoke-Command -ComputerName 172.18.0.110 -Credential $CredentialLocal -ScriptBlock {New-Item -Path "C:\Users\Administrateur\Desktop" -Name "Test-Invoke" -ItemType directory}
Par contre quand je veux exécuter le Sysprep:
$UserLocal = "Administrateur" $Password = ConvertTo-SecureString -String "MDP" -AsPlainText -Force $CredentialLocal = [pscredential]::new($UserLocal,$Password) Invoke-Command -ComputerName VM -Credential $CredentialLocal -ScriptBlock {C:\windows\system32\sysprep\sysprep.exe /generalize /oobe /mode:vm /reboot /unattend:C:\unattend2.xml}
le Script s'exécute , pas de message d'erreur mais le sysprep ne se lance pas sur ma VM..
j'ai essayé avec un Start-Process, param($sysprep) dans le Scriptblock, mais rien ne marche
je n'ai pas d'erreur et je ne sais pas où ça bloque et j'ai vraiment besoin que ça marche
une âme charitable svp
Toutes les réponses
-
Bonjour,
Dans un cas tu as l'IP de la machine et dans l'autre son nom, est ce que tu as essayé avec l'IP ?
Est ce que si tu ne fournis pas de fichier unattend ca fonctionne également ou pas ?
Si tu lances la commande directement sur la machine, ca fonctionne ?
Par curiosité, quel est le besoin pour exécuter le sysprep à distance ?
Dans mon cas je connais le sysprep lorsqu'on souhaite déployer une machine ou créer un master mais cette opération est réalisé par l'outil de déploiement...
Merci de marquer comme reponses les interventions qui vous ont ete utile.
-
bonjour,
merci pour ta réponse
- avec l'ip, c'est ce que je fais et ça marche dans les 2 cas (sauf pour le sysprep évidemment xD)
- quand j'exécute ma commande sur ma vm sans l'invoke-command, le sysprep fonctionne (démarre tout seul, reboot etc ...)
pour l'histoire, je suis en train de faire un mémoire en forme de projet, et ma grosse partie est sur du DSC où je souhaite réaliser une automatisation de création de VM (importation de VM, sysprep, application d'un IP et nom de machine ...)
Or là ça fait 1 mois que je bloque dessus et impossible de comprendre... pas de message d'erreur rien ...
je commence vraiment à désespérer ^^'
-
Bonjour peperonie06
Sysprep n'est pas une commandlet Posh mais une commande DOS. Je pense que le problème vient de là.
Et si tu essayais quelque chose comme :
$Command = "C:\windows\system32\sysprep\sysprep.exe /generalize /oobe /mode:vm /reboot /unattend:C:\unattend2.xml" Invoke-Command -ComputerName $VM -Credential $credential -ScriptBlock { Invoke-Expression -Command $Command }
cordialement
Olivier
-
merci pour ta réponse
quand je fais:
$command= 'New-Item -Path "C:\Users\Administrateur\Desktop" -Name "Test-Invoke" -ItemType directory' Invoke-Command -ComputerName 172.18.0.110 -Credential $CredentialLocal -ScriptBlock {param($command)Invoke-Expression -Command $command} -ArgumentList $command
ça marche! donc pour moi la syntaxe est bonne
par contre quand je fais:
$command= 'C:\windows\system32\sysprep\sysprep.exe' Invoke-Command -ComputerName 172.18.0.110 -Credential $CredentialLocal -ScriptBlock {param($command)Invoke-Expression -Command $command} -ArgumentList $command
rien ne se passe, pas de message d'erreur et pour lui tout a bien marché ...