简体   繁体   中英

PowerShell - Execute PowerShell Script on the C: drive of a remote server

PowerShell Version 5 build 10586

I am using the following code to remote connect to a server from my local PC

$cimSession = New-CimSession -ComputerName "SERVERNAME.DOMAIN.COM"


     Invoke-Command -ComputerName SERVERNAME -ScriptBlock {Get-ChildItem “C:\Temp\ps”}

     Invoke-Command -ComputerName SERVERNAME -FilePath "\\SERVERNAME\c$\Temp\ps\PS_SCRIPT_FILE.ps1"


Remove-CimSession -CimSession $cimSession

The first command is able to run successfully and sees the PowerShell file on the remote server.

The second command fails with an error:

Invoke-Command : Cannot find path '\\SERVERNAME\c$\Temp\ps\PS_SCRIPT_FILE.ps1' because it does not exist.

Is there another way to call/run a PowerShell script on the C Drive of a remote server?

  • I have granted my account full access to the specified file.
  • I have also tried to share the specified folder and given myself Read/Write access to the folder.
  • I have changed the file path to the share path and get the same result.
  • Invoke-Command -ComputerName SERVERNAME -FilePath "\\\\SERVERNAME\\ps\\PS_SCRIPT_FILE.ps1"

Try this:

Invoke-Command -ComputerName SERVERNAME -ScriptBlock { Invoke-Command -FilePath "C:\\Temp\\ps\\PS_SCRIPT_FILE.ps1" }

In your existing code the -FilePath parameter is processed on the calling machine. By including that as a parameter within the ScriptBlock it should be processed on the target machine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM