Enter-PSSession ne fonctionne pas dans mon script Powershell

quand j'exécute les lignes ci-dessous à partir d'un script, le fichier finit par être créé sur ma machine locale.

$cred = Get-Credential domainDanTest
Enter-PSSession -computerName xsappb01 -credential $cred

New-Item -type file c:tempblahxsappk02.txt

exit-pssession

lorsque j'exécute chaque ligne individuellement depuis la console powershell, la session distante est créée correctement et le fichier est créé sur la machine distante. Toute réflexion sur pourquoi? Est-ce une question de timing est le script peut-être?

31
demandé sur Lars Truijens 2010-09-14 04:15:23

1 réponses

Je ne suis pas sûr que ce soit une question de timing. Je pense que C'est plus comme si Enter-PSSession invoquait quelque chose comme une invite imbriquée et que vos commandes suivantes n'y sont pas exécutées. Quoi qu'il en soit, je crois que Entrée/Sortie-PSSession est destiné à l'utilisation interactive - pas l'utilisation de script. Pour les scripts, utilisez New-PSSession et passez l'instance de session dans Invoke-Command par exemple:

$cred = Get-Credential domain\DanTest 
$s = New-PSSession -computerName xsappb01 -credential $cred
Invoke-Command -Session $s -Scriptblock {New-Item -type file c:\temp\blah.txt}
Remove-PSSession $s
58
répondu Keith Hill 2010-09-15 05:43:45