我有一个PowerShell .PS1脚本,我试图通过组策略通过login脚本来申请。 这里是.PS1脚本(非常简单,只是将用户添加到RD用户组):
net localgroup "Remote Desktop Users" "$env:USERDOMAIN\$env:USERNAME" /add
根据RSoP.msc和GPresult ,GPO正在得到应用,没有问题。 我可以手动运行PS1,它可以工作(尽pipe作为pipe理员和Set-ExecutionPolicy Unrestricted )。 但是,该脚本无法正常工作,因为用户login永远不会被添加到“远程桌面用户”组中。
在RSoP.msc “最后执行”的时候,这个脚本是空白的。 我想查看事件查看器,以更好地了解脚本为什么不起作用,但不知道要查找什么。
编辑:显然,login脚本必须作为login用户运行,所以它inheritance了用户所拥有的任何权限(或者说,没有)。 我将尝试运行脚本计算机端,看看它是否会工作,没有最终用户有本地pipe理员权限,因为它将使用系统帐户。
我能够将它作为通过组策略部署的计划任务运行,使用System作为帐户来运行计划任务。
在Computer Configuration > Preferences > Control Panel Settings > Scheduled Tasks ,selectScheduled Task (Windows Vista and Later)任务types,创build一个新的计划任务:
将该帐户设置为NT AUTHORITY/System ,并设置为run with highest privileges :
将其设置为at log on any user at log on触发:
select“在action下Start a program ”,将Powershell.exe设置为程序/脚本,并将脚本path设置为参数:
保持所有其他选项卡不变。
当用户login时,他们应该看到一个PowerShell窗口显示,并通过检查lusrmgr.msc,你应该看到指定的组中的用户: