我试图在电源shell中运行以下命令,但它一直给我错误的双反斜杠字符..我该怎么办!!我看到其他论坛,这个yntax对他们来说很好!
$combined="C:\tools\PsExec.exe \\computer cmd.exe"
PS C:\Users\Desktop\initialutility\initutil_v2> Invoke-Expression $combined
At :line:1 char:20
+ C:\tools\PsExec.exe <<<< \\computer cmd.exe
我用\ x.x.x.x(即IP地址)代替\计算机..仍然没有用.. 请帮忙!
答案 0 :(得分:1)
我认为你的问题存在于其他地方,因为双斜线工作得很好,例如:
PS> $command = "c:\bin\psexec.exe \\genericpc1 hostname.exe"
PS> iex $command
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
GENERICPC1
hostname.exe exited on genericpc1 with error code 0.
我会尝试在Invoke-Expression的上下文之外运行psexec.exe并首先运行它。使用psexec的另一个问题是,如果您未指定任何凭据,它将使用您的凭据。这意味着,您的凭据需要在远程系统上工作。
来自article on PsExec的其他要求是:
PsExec远程运行进程的能力要求两者都有 本地和远程计算机具有文件和打印共享(即, 工作站和服务器服务)启用并默认为Admin $ 共享(映射到\ windows目录的隐藏共享)已定义 在远程系统上。
...冒充您在本地运行PsExec的帐户 系统。从版权的角度来看,假冒行为有所限制 安全性 - 远程进程无权访问任何网络 资源,甚至是您的帐户通常可以使用的资源 访问。如果您运行的帐户没有本地帐户 远程系统上的管理权限,即您想要的进程 要运行需要访问网络资源,或者您想要运行 在另一个帐户中处理,然后使用PsExec的-u开关提供 另一个帐户名称。 共享(映射到\ windows目录的隐藏共享)已定义 在远程系统上。