我们有一个 Windows 环境,包括 XP SP3 工作站、一些 Vista 工作站和 Windows 2003 Server。我需要从命令行(脚本)远程启动其中一些系统上的进程。启动进程的 ID 和将运行进程的 ID 都是远程计算机本地管理员组的成员,不一定是同一个用户。策略阻止添加第三方软件,如 WinSSH、Cygwin 或其他软件。可能需要付出很大努力才能批准该策略的例外情况,但我很懒。
我希望能够以不同的(或相同的)用户身份远程启动进程,就像在 UNIX 变体上使用 SSH 一样。我能想到的最接近的方法是使用 schtasks 远程创建/运行/删除完成我需要的任务。这很麻烦,而且我担心密码保护问题,因为命令会穿越网络。当您发出以下命令时,Windows 是否会以某种方式加密流量:schtasks /create /tn /tr /ru /rp /sc once /st ?。
有没有更好的办法?
有没有更好的方法,不需要大量的 cscript?
答案1
执行命令将执行您想要的操作。无需安装即可使用它。
至于 PSexec 中的安全性,如果您用于在您的机器上执行 PSexec 的帐户在远程机器上具有正确的权限,那么您不需要在使用 PSexec 命令时输入用户名和密码,并且不会通过网络以明文形式将任何凭据发送到远程机器。
但是如果你必须在 PSexec 命令中包含用户名和密码,那么他们将要以明文形式发送到远程机器。
答案2
你看过了吗执行?
答案3
我倾向于使用执行但我不记得流量是否加密。