0

我正在尝试在 power shell 中运行以下命令,但它总是在双反斜杠字符处给我错误.. 我该怎么办!我看到了其他论坛,这种语法对他们来说很好!

$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

我用\xxxx(即IP地址)替换了\computer..仍然没有用..请帮忙!

4

1 回答 1

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 的另一个问题是,如果您不指定任何凭据,它会使用您的凭据。这意味着,您的凭据需要在远程系统上工作。

其他要求,来自PsExec上的一篇文章:

PsExec 远程运行进程的能力要求本地和远程计算机都启用文件和打印共享(即工作站和服务器服务),并且定义了默认的 Admin$ 共享(映射到 \windows 目录的隐藏共享)在远程系统上。

... 模拟您在本地系统上运行 PsExec 的帐户。从安全的角度来看,模拟在一定程度上受到限制——远程进程无权访问任何网络资源,即使是您的帐户通常能够访问的那些资源。如果您正在运行的帐户在远程系统上没有本地管理权限,您要运行的进程需要访问网络资源,或者您想在不同的帐户中运行进程,则使用 PsExec 的 -u切换以提供备用帐户名称。共享(映射到 \windows 目录的隐藏共享)在远程系统上定义。

于 2013-01-31T17:12:06.650 回答