Invoke-Item在本地执行文件

时间:2014-08-26 17:06:30

标签: powershell exe

我有一个命令

Invoke-Item \\remote_IP\share\setup.exe

即使我在UNC路径中指定了“remote_IP”,也会在本地计算机上执行setup.exe。

缺少什么?

2 个答案:

答案 0 :(得分:3)

您的问题并不清楚,但看起来您正试图远程执行某个应用程序。你不想要Invoke-Item,你需要具有-ComputerName开关的Invoke-Command(以及其他方便的远程执行,如接受凭证)。

Invoke-Command -ComputerName RemoteIP -ScriptBlock {& 'C:\Path\To\Setup.exe'}

或者你想要执行该文件。

答案 1 :(得分:1)

UNC路径具有以下形式\\remote_name\share_name\path。在您的情况下,缺少share_name。

请参阅https://en.wikipedia.org/wiki/Path_%28computing%29#Uniform_Naming_Convention

此外,UNC路径仅允许您远程访问文件,而不是在远程计算机上执行它们。要远程执行程序,您需要特殊服务或工具支持:https://serverfault.com/questions/221064/running-remotely-an-app-from-a-shared-folder-with-psexec

但是,从PowerScript中,您还可以使用invoke-command命令(请参阅http://technet.microsoft.com/en-us/library/hh849719.aspx