提问人:Laurie Dickinson 提问时间:3/17/2022 最后编辑:Ken WhiteLaurie Dickinson 更新时间:3/17/2022 访问量:541
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 似乎找不到它。有什么想法吗?
答:
4赞
Mathias R. Jessen
3/17/2022
#1
该参数需要本地文件路径。-FilePath
如果路径引用远程计算机上的文件,则需要改用以下参数:-ScriptBlock
Invoke-Command -ComputerName myserver -ScriptBlock { C:\laurietest\testthis.ps1 }
或者,如果需要传递变量路径:
$remoteScriptFilePath = 'C:\laurietest\testthis.ps1'
Invoke-Command -ComputerName myserver -ScriptBlock { & $using:remoteScriptFilePath }
评论