从计算机 A,我想调用计算机 B 上的批处理文件。通常,我使用 psexec 来执行此操作。但是,在这种情况下,计算机 B 上的批处理文件位于计算机 B 上名为“J:”的映射网络驱动器上。
有没有办法让这样的命令起作用?
psexec \\computerB J:\MyBatchFile.bat
现在,它回到我身边并抱怨J:不存在
从计算机 A,我想调用计算机 B 上的批处理文件。通常,我使用 psexec 来执行此操作。但是,在这种情况下,计算机 B 上的批处理文件位于计算机 B 上名为“J:”的映射网络驱动器上。
有没有办法让这样的命令起作用?
psexec \\computerB J:\MyBatchFile.bat
现在,它回到我身边并抱怨J:不存在
用户不存在 J,因为驱动器在用户交互登录时被映射。没有真正登录到系统,没有驱动器映射。
正如建议的那样,您可以尝试 J 的 UNC 路径,但这可能行不通。PowerShell 远程处理(使用 psexec 的替代方法)具有“单跳”限制 - 如果您在工作站上执行命令以调用远程系统上的命令,然后尝试从该远程系统访问非本地资源,您将被拒绝。
有什么方法可以从计算机 A 执行该 BAT 文件吗?
Use -e to load the profile, then the mapped drive should be there.
psexec \remotemachine -u [domain\username] -p [password] -e j:\whatevercmmand.exe
我会尝试使用J:
映射到的 UNC 路径。您可能可以使用一些net use
技巧来确保J:
可用。