我对这个问题进行了大量研究,但仍然没有找到解决方案。我编写了一个 powershell 脚本,使用 psexec 通过 p2p 网络在文件共享上激活另一个脚本。我一直收到上述错误。这是我的脚本:
$clients = get-content $PSScriptRoot\Clients.txt
foreach ($comp in $clients)
{
PsExec.exe -s -i -d \\$comp Powershell \\PATH_TO_FILESHARE\script.ps1
}
我尝试过的答案:
- 移除
-i
开关。 - 禁用 UAC。
- 禁用 Windows 防火墙。
LocalAccountTokenFilterPolicy
在注册表中为每个目标添加(设置为 1)。-s
将交换机换成-u/-p
其他交换机。- 添加
-h
开关。
答案1
好的,我找到了答案。域中有一个需要添加的 GPO。计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 用户权限分配:确保“允许本地登录”和“允许通过远程桌面服务登录”都已启用,并列出您的管理员帐户。完成此操作后,我拥有的共享文件夹上的所有 PowerShell 脚本都可以使用 PSExec 在所有系统上成功执行。