背景:
我有一台安装了 Windows 2008 R2 的服务器作为终端服务器 session 主机运行。我有一长串本地用户设置和配置为远程桌面用户。当用户使用远程桌面连接远程登录时,程序会自动启动。当用户关闭该程序时, session 结束。如果我手动设置,这一切都很好。
我的问题:
我编写了一个脚本来自动添加本地用户列表并设置和配置属性。问题是我无法找到如何设置“环境”>“登录时启动以下程序”属性。 (请参阅图片了解我要设置的属性)
我当前脚本的示例部分如下:
$computer = "localhost"
$userName = "aTestUser"
$objComputer = [ADSI]"WinNT://$computer"
$objUser = $objComputer.Create('user', $userName)
$objUser.SetPassword("Password")
$objUser.PSBase.InvokeSet('Description', "Some description for $userName")
$objUser.PSBase.InvokeSet('userflags', 512)
$objUser.PSBase.InvokeSet('passwordExpired', 1)
$objUser.SetInfo();
我也试过这个不起作用的命令:
$objUser.PSBase.InvokeSet("TerminalServicesInitialProgram", "C:\programs\a_test_program.exe")
我已经在 Microsoft 的 MSDN 站点以及 Google 和 StackOverflow 上进行了搜索,但找不到这个特定的属性。
最佳答案
我找到了解决方案here .
$ou = [adsi]"WinNT://127.0.0.1"
$user = $ou.psbase.get_children().find("test")
$user.PSBase.InvokeSet("TerminalServicesInitialProgram", "C:\logoff.bat")
$user.setinfo()
关于windows - 如何使用 powershell 在本地用户上设置 "Environment"> "Start the following program at logon"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45729847/