繁体   English   中英

变量的Powershell Active Directory帐户属性

[英]Powershell Active Directory Account Attribute to a variable

对不起,新手问题。 我正在使用Powershell 3来获取所有用户帐户的列表。 我正在尝试为帐户“启用”或“禁用”生成输出。 我可以使用以下方法从活动目录获取帐户状态代码:

$rc = $Rech.PropertiesToLoad.Add("userAccountControl");

这将显示正确的帐户状态代码。

当我尝试对值使用if语句时,我没有得到任何结果。 如何将此值放入变量以对其使用某些逻辑?

最后,我的要求是将输出输出到CSV文件中,然后将其发送给HR并对其进行检查,而不是将其设为“ Enabled”或“ Disabled”的代码。

谢谢。

userAccountControl属性是一个位图 ,这意味着数字中的每个位都代表一个true(1)或false(0)值。 这是一个例子:

$ADS_UF_ACCOUNTDISABLE = 2
...
$accountDisabled = ($userObject.Properties["useraccountcontrol"][0] -band $_ADS_UF_ACCOUNTDISABLE) -ne 0

在此示例中,如果帐户被禁用,变量$ accountDisabled将包含$ TRUE,否则将包含$ FALSE。 要检查userAccountControl属性中的任何其他位,请使用http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa772300.aspx中记录的标志值,并与-band运算符组合在一起,如本例所示。 如果不为零( -ne 0 ),则该位置1;否则,该位置1。 如果为零( -eq 0 ),则未设置该位。 另一个示例是检查是否设置了“密码永不过期”位。 您可以使用如下代码:

$ADS_UF_DONT_EXPIRE_PASSWD = 65536
...
$neverExpires = ($userObject.Properties["useraccountcontrol"][0] -band $ADS_UF_DONT_EXPIRE_PASSWD) -ne 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM