invoke-command, powershell 2.0 equivalent??

This topic contains 4 replies, has 2 voices, and was last updated by Profile photo of Dave Wyatt Dave Wyatt 1 year, 7 months ago.

  • Author
    Posts
  • #32793
    Profile photo of tommls
    tommls
    Participant

    I've got an executable which runs with arguments which I need to run on multiple PCs.
    This code obviously does not work but it shows the commands.
    \\$computer\C`$\temp\snetcfg.exe -v -c s -u MS_Server
    \\$computer\C`$\temp\snetcfg -v -l \\$computer\C`$\windows\inf\netserv.inf -c s -i MS_Server

    1) should I copy the *.exe file into C:\temp and if so how would I run it from c:\temp on all the computers??
    OR
    2) can I run this *.exe with arguments from a remote file share??

    Basically I need to run this in PS 2.0 but most of what I find for this is invoke-command which I believe is not in PS 2.0...

    Thank you, Tom

  • #32794
    Profile photo of Dave Wyatt
    Dave Wyatt
    Moderator

    PSRemoting (and Invoke-Command) were added in PowerShell 2.0, so that shouldn't be a problem. Once you've pushed out your exe file, you'd just convert your UNC paths into the equivalent local paths, and do something like this:

    $scriptBlock = {
        c:\temp\snetcfg.exe -v -c s -u MS_Server
        c:\temp\snetcfg -v -l c:\windows\inf\netserv.inf -c s -i MS_Server
    }
    Invoke-Command -ComputerName $computer -ScriptBlock $scriptBlock
    

    As long as you don't run into the "second hop" problem (which you can read about all over the place by searching for that term), this should probably work.

  • #32795
    Profile photo of tommls
    tommls
    Participant

    OIC — thank you for clarifying.
    I had also been doing the syntax etc. all wrong.
    I will now test this!! 🙂 🙂
    Thank you, Tom

  • #32797
    Profile photo of tommls
    tommls
    Participant

    Am I getting this error because of the double-hop issue??
    The firewall exceptions are enabled.

    [MLS-LT-207] Connecting to remote server MLS-LT-207 failed with the following error message : WinRM cannot complete the operation. Verify that the
    specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and
    allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local
    subnet. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo : OpenError: (MLS-LT-207:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : WinRMOperationTimeout,PSSessionStateBroken

    Is there any other way to run these commands on the remote computers??

    Thank you, Tom

  • #32800
    Profile photo of Dave Wyatt
    Dave Wyatt
    Moderator

    Nope, that's just a "can't connect with PSRemoting" error. Have you run Enable-PSRemoting on the remote systems?

You must be logged in to reply to this topic.