我想添加值"ABC";到称为"AD"的AD属性;myvariables";对于组织单位-,但前提是该值不存在
我试过这个:
$p = Get-ADOrganizationalUnit -Identity $identity -Properties myvariables|Select-Object myvariables
If ($p.myvariables -notlike "*ABC*") {Set-ADOrganizationalUnit -Identity $identity -Add @{myvariables="ABC"}}
但这并不奏效。值";ABC";对于AD属性,即使已经设置。
谢谢!
通过查看问题中的代码和注释中的说明,可以清楚地看出$p.myvariables是字符串的数组。
在IF
语句中,您编写了If ($p.myvariables -notlike "*ABC*")
,意思是查找数组中与"*ABC*"
不同的所有元素。因此,如果数组包含除"0"以外的任何元素,则IF
条件将为$true;ABC";。因此,它会产生你意想不到的结果。
示例
PS C:> $myvariables = "ZZZ","ABC","XXX"
PS C:> $myvariables -like "*ABC*"
ABC
PS C:> $myvariables -notlike "*ABC*"
ZZZ
XXX
您可能希望在IF
语句中使用-in
或-notIn
:
PS C:> $myvariables = "ZZZ","ABC","XXX"
PS C:> "ABC" -in $myvariables
True
PS C:> "ABC" -notin $myvariables
False