1

I've successfully got winrm working and I'm able to run Enter-PSSession my-machine in the shell and subsequently enter commands. However, when I try to run a script that starts up a remote session, all subsequent calls are run on the local machine. For instance:

PS> test.ps1

Contents of test.ps1

Enter-PSSession remote-pcname
gc env:computername

prints out local-pcname instead of remote-pcname any idea why the script file is not honoring the remote session? It is definitely successfully connecting because when the script finishes I'm returned to the shell prompt of the remote machine.

2 Answers 2

6

The short answer is: Enter-PSSession is intended for interactive use. If you want to execute commands on a remote system from a script, use invoke-command.

A similiar thread on the Technet forums is here: http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/90e92d4e-716b-4b4d-956f-d38645e5c035

Sign up to request clarification or add additional context in comments.

1 Comment

+1 you answer before, but as it was written I post it even though
4

For me it work as documented. Enter-PSSession start an interactive session, it's for interactive use.

So to execute a script you can use New-PSSession to create a session and Invoke-Command using the remote session you created with New-PSSession.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.