powershell - 如何根据powershell中的条件向变量添加布尔标志?
问题描述
我有一个 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
管理此问题的最佳方法是什么?任何帮助,将不胜感激。
解决方案
你可以做:
IsServer = @{$true="true";$false="false"}[($OuList -contains "Domain Servers"]
推荐阅读
- syslog-ng - syslog-ng 错误的原因是什么:“找不到目标插件 http”?
- c++ - 您可以在具有相同表示的类型之间重新解释转换吗?
- docker - 使用修改后的 fabric-server-config 初始化结构 ca
- c# - 在大文件中搜索性能差异
- python - 获取神经网络的预测列表
- kotlin - 听众对第二次呼叫没有反应
- python - 实现骰子游戏
- python - 在 Tensorflow 2.0 中翻转和旋转张量(在 U-net 内)会耗尽内存。如何正确地做到这一点?
- python - 循环遍历视频python中的所有帧
- jestjs - 从 Redux Thunk 模拟调度作为单元测试?