【发布时间】:2021-09-29 19:27:41
【问题描述】:
我有一个 PS 脚本从 AD 中检索所有设备及其 OU 信息,如下所示:
$UserList = Get-ADComputer -Filter * -Property * | Select-Object Name,DistinguishedName,LastLogonDate
$Results = foreach ($UL_Item in $UserList)
{
[array]$OuList = @($UL_Item.DistinguishedName.Split(',')).
Where({$_ -match 'OU='}).
ForEach({$_.Split('=')[-1]}).
Trim()
[PSCustomObject]@{
ComputerName = $UL_Item.Name
OU_1 = $OuList[0]
OU_2 = $OuList[1]
OU_3 = $OuList[2]
OU_4 = $OuList[3]
OU_5 = $OuList[4]
}
}
我想做的是在我的变量中添加一个名为 IsServer 的标志:$Results 如果任何 OU 等于“域服务器”,则将其设置为 True,所以我正在寻找正确的类似这样的语法:
...
OU_5 = $OuList[4]
IsServer = if ($OuList[0]="Domain Servers" OR
$OuList[1]="Domain Servers" OR
$OuList[2]="Domain Servers" OR
$OuList[3]="Domain Servers" OR
$OuList[4]="Domain Servers" OR ) then true else false end
管理此问题的最佳方法是什么?任何帮助将不胜感激。
【问题讨论】:
-
if($OuList -contains "Domain Servers")