powershell - 如何从 Get-ADComputer 结果中排除特定名称?

标签 powershell active-directory

我想要获取我的域中所有已启用且具有 2003 操作系统的计算机,并且计算机名称不包含“ping 、 pict 、 pire ” 这是我所拥有的,但完全失败了:

Get-ADComputer -filter {(Enabled -eq $True) -and (OperatingSystem -like "*2003*")} -properties OperatingSystem | where {($_.Name -notlike 'PING*') -or ($_.Name -notlike 'PICT*') -or ($_.Name -notlike 'PIRE*')} | Select Name

最佳答案

您可以在过滤器内使用-notlike运算符,因此不需要where语句。请参阅Get-ADComputer reference on technet .

正如我提到的,除了将 -or 运算符更改为 -and 之外,我还将所有条件放入过滤器中,最终结果如下:

Get-ADComputer -filter {
   Enabled -eq $True -and
   OperatingSystem -like '*2003*' -and
   Name -notlike 'PING*' -and
   Name -notlike 'PICT*' -and
   Name -notlike 'PIRE*'
} | Select Name

关于powershell - 如何从 Get-ADComputer 结果中排除特定名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491952/

相关文章:

string - PowerShell Out-File 在字符之间输出额外的空格

powershell - 如何将控制台输出重定向到模块内的 PowerShell 输出?

powershell - 延迟执行后台 worker 的DoWork事件

java - 使用 IP 地址属性的 LDAP 查询

.net - 由于不受信任的域,SQL 登录失败

c# - 在二进制 powershell 模块中获取工作目录

powershell - 在 IIS 8 应用程序池中为多台服务器启用自动启动属性

active-directory - 如何使用筛选器避免Active Directory中的子OU?

security - MVC4 Web API 防止使用相同凭据的多个同时登录

无需加入域即可通过 Active Directory 进行 Linux 身份验证