Invoke-Command 找不到脚本,但它在那里
Invoke-Command not finding script, but it's there
我正在尝试 运行 在另一台服务器上运行一个非常简单的脚本,但遇到了 ItemNotFoundException。这是我的脚本:
Invoke-Command -ComputerName myserver -FilePath C:\laurietest\testthis.ps1
Invoke-Command -ComputerName myserver -ScriptBlock {
Write-Output "Directory before copying:"
Get-ChildItem C:\laurietest\
Copy-Item -Path C:\laurietest\output.txt -Destination C:\laurietest\output2.txt
Write-Output "Directory after copying:"
Get-ChildItem C:\laurietest\
}
这是我 运行 命令时得到的输出:
它列出了目录的内容和文件 testthis.ps1 肯定在那里,但 Invoke-Command 似乎找不到它。有什么想法吗?
-FilePath
参数expects a local file path。
如果路径引用远程计算机上的文件,您需要使用 -ScriptBlock
参数:
Invoke-Command -ComputerName myserver -ScriptBlock { C:\laurietest\testthis.ps1 }
或者,如果您需要传递可变路径:
$remoteScriptFilePath = 'C:\laurietest\testthis.ps1'
Invoke-Command -ComputerName myserver -ScriptBlock { & $using:remoteScriptFilePath }
我正在尝试 运行 在另一台服务器上运行一个非常简单的脚本,但遇到了 ItemNotFoundException。这是我的脚本:
Invoke-Command -ComputerName myserver -FilePath C:\laurietest\testthis.ps1
Invoke-Command -ComputerName myserver -ScriptBlock {
Write-Output "Directory before copying:"
Get-ChildItem C:\laurietest\
Copy-Item -Path C:\laurietest\output.txt -Destination C:\laurietest\output2.txt
Write-Output "Directory after copying:"
Get-ChildItem C:\laurietest\
}
这是我 运行 命令时得到的输出:
-FilePath
参数expects a local file path。
如果路径引用远程计算机上的文件,您需要使用 -ScriptBlock
参数:
Invoke-Command -ComputerName myserver -ScriptBlock { C:\laurietest\testthis.ps1 }
或者,如果您需要传递可变路径:
$remoteScriptFilePath = 'C:\laurietest\testthis.ps1'
Invoke-Command -ComputerName myserver -ScriptBlock { & $using:remoteScriptFilePath }