如果以前曾提出类似的问题,我会失败,道歉。我所有的搜索都是空的。
如果$Results
中的$servers
匹配服务器名称,如果有帮助,可以使用
#Change OS to OperatingSystem, shortened for screen readability.
$servers = Get-ADComputer -LDAPFilter "(|(OS=*2003*)(OS=*2000*))" | Select -expand Name
我尝试了这个:
$servers | ForEach-Object { $Results.Server -match $_}
但输出最后包含多个重复的项目。
我还考虑过生成一个巨大的SQL查询,因此只需要运行一个查询,例如:
$SqlQuery = @'
SELECT swName AS [Server], swSchedule as [Schedule]
FROM SW_TABLE
WHERE (swSchedule = 'Weekly' OR swSchedule = 'SCCM - Weekly' OR swSchedule = 'Monthly')
AND swRootObjectType = 'Server'
AND swName = 'Server'
AND swName = 'Server'
AND swName = 'Server'
AND swName = 'Server'
'@
答案 0 :(得分:1)
根据$Results
是否包含$servers
名称属性来过滤Server
数组:
$Results |Where-Object { $servers -contains $_.Server }