我相信您的问题出在其他地方,因为双斜杠可以正常工作,例如:
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 目录的隐藏共享)在远程系统上定义。