如果不是Powershell



我想添加值"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

相关内容

  • 没有找到相关文章

最新更新