添加登录程序在PowerShell中的环境选项卡用户ADSI TSclients(Add logon

2019-06-27 07:48发布

嗨,我是特林设置,将使用PowerShell脚本来创建远程客户端的登录程序的参数。 如下所示

我得到了一个登录脚本使用配置文件选项卡设置

$objUser.PSBase.InvokeSet('LoginScript', "logoff.cmd")

由于在此线程的种子在这里

问题是我无法找到ADSIedit中也有一些attrribes,我使用和工作attribes ADSIedit中没有显示如PasswordExpired

这使我相信属性不exsist。 下面是我的代码

$objComputer = [ADSI]"WinNT://127.0.0.1"
$objUser = $objComputer.Create('user', $username)
$objUser.SetPassword($password)
$objUser.PSBase.InvokeSet('Description', "user " + $userName)
$objUser.PSBase.InvokeSet('userflags', 512)
$objUser.PSBase.InvokeSet('passwordExpired', 1)
$objUser.SetInfo();

Answer 1:

花了很长的时间来弄清楚这一个找到的答案IADsTSUserEx库

这里是下面的代码

# adds user
$objComputer = [ADSI]"WinNT://127.0.0.1"
$objUser = $objComputer.Create('user', $username)
$objUser.SetPassword($password)
$objUser.PSBase.InvokeSet('Description', "user " + $userName)
$objUser.PSBase.InvokeSet('userflags', 512)
$objUser.SetInfo();
# set password not to expire
wmic USERACCOUNT WHERE "Name = '$username'" SET Passwordexpires=FALSE
#set logoff script
$ou = [adsi]"WinNT://127.0.0.1"
$user = $ou.psbase.get_children().find("test")
$user.PSBase.InvokeSet("TerminalServicesInitialProgram", "C:\logoff.bat")
$user.setinfo()


文章来源: Add logon program for TSclients in environment tab user adsi in Powershell