Powershell - 使用 get-adcomputer 时过滤 OU

2023-11-25

我正在尝试创建一个脚本,该脚本根据计算机可能具有的特定属性生成计算机列表。例如,我试图列出 Windows XP 计算机和 Windows 7 计算机的列表,将它们的名称放入 .csv 文件中,并输出每台计算机的最终计数。

到目前为止,这是我的代码

import-module ActiveDirectory
$computers = get-adcomputer -Filter 'ObjectClass -eq "Computer"' -properties "OperatingSystem"
$i = 0
$j = 0
Foreach ($computer in $computers) {
    if ($computer.operatingSystem -like "Windows 7*") {
        $i++
        '"{0}","{1}","{2}"' -f $computer.Name, $computer.OperatingSystem, "$computer.DistinguishedName" | Out-file -append C:\users\admin\desktop\test.txt
        }
    elseif ($computer.OperatingSystem -like "Windows XP*") {
        $j++
        '"{0}","{1}","{2}"' -f $computer.Name, $computer.OperatingSystem, "$computer.DistinguishedName" | Out-file -append C:\users\admin\desktop\test.txt
        }
    else {
        $_
        }

}
write-host "$i Win 7"
write-host "$j Win xp"
$k = $i+$j
write-host "$k Total"

示例输出:

104 Win 7
86 Win xp
190 Total

这个脚本可以工作,但是我想让它变得更好一点,能够说出哪个 OU 不值得研究,但我不太明白。

如果有人对如何做到这一点有任何见解,或者只是为了使上述代码变得更好,我很乐意听到。

谢谢你!


The -like运算符似乎不适用于 DistinguishedName 的通配符。那么显而易见的操作Get-ADComputer -Filter {(DistinguishedName -notlike "*OU=evil,*")}不起作用。

最简单的解决方法是获取集合中的所有计算机,然后对其进行过滤以满足您的需求。就像这样,

# All the computers from the evil OU:
$evilOU = $computers| ? {$_.DistinguishedName -like "*ou=evil,*"}
# All the computers but the ones from the evil OU:
$goodOU = $computers| ? {$_.DistinguishedName -notlike "*ou=evil,*"}

Addendum

要组合匹配规则,请使用-and -or and -like。记得使用*通配符与? (where-object)

# All the computers save the ones from evil and wicked OU:
$goodOU = $computers| ? {
  $_.DistinguishedName -notlike "*ou=evil,*" -and $_.DistinguishedName -notlike "*ou=wicked,*"

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell - 使用 get-adcomputer 时过滤 OU 的相关文章

  • nuget 对文件名中的空格进行编码

    我使用 pack 命令创建了一个 nuget 包 http docs nuget org docs reference command line reference Pack Command http docs nuget org docs
  • Invoke-WebRequest SSL 失败?

    当我尝试使用时Invoke WebRequest我收到一些奇怪的错误 Invoke WebRequest Uri https idp safenames com Invoke WebRequest The underlying connec
  • 将 Powershell 对象的类型名称从 PSCustomObject 更改为我选择的名称?

    我有一个使用自定义对象的脚本 我用这样的伪构造函数创建它们 function New TestResult trProps name repo vcs Skipped clean New StageResult This is anothe
  • Active Directory:如何确定帐户是否是服务帐户?

    问题 是否可以使用 C LDAP 确定帐户是否是 Active Directory 中的服务帐户 如果是 怎么办 Context 我有一个程序正在检索模式类类型 USER GROUP COMPUTER FOREIGN SECURITY PR
  • 我可以在 Emacs 的 shell 模式下使用 PowerShell 吗?

    我可以在 emacs 的 shell 模式下使用 powershell 作为 shell 吗 How 请参阅 Jeffrey Snover 的博客文章在 Emacs 内运行的 PowerShell http blogs msdn com p
  • 使用 PowerShell 修改 Visual Studio 解决方案和项目文件

    我们目前正在重新组织源代码 将内容移动到新目录中 结构 这会影响我们的 Visual Studio 解决方案和项目文件 其中诸如程序集引用 可能的输出目录 构建前和构建后事件等 必须更新以反映我们的更改 由于我们有许多解决方案和项目 我希望
  • 禁止非 PowerShell 命令的输出?

    我正在运行命令 hg st 然后检查它是 LASTEXITCODE检查当前目录中 Mercurial 的可用性 我不关心它的输出 也不想将它展示给我的用户 如何抑制所有输出 成功或错误 由于 Mercurial 不是 PowerShell
  • “Microsoft.AspNet.Server.Kestrel”不包含适合入口点的静态“Main”方法

    我正在尝试运行最新的Asp Net 5 个示例 https github com aspnet Home 当前为 1 0 0 rc1 update1 来自 Windows 10 上的 powershell 我将活动和默认 DNX 设置为 C
  • Start-Job 输出去了哪里?

    W gt job start job Write Output hi there throw an error Wait Job W gt job select State Failed HasMoreData True StatusMes
  • 如何使用PowerShell脚本远程启动/停止IIS 6.0/7.0?

    我有两台服务器服务器 A 和服务器 B 我想使用 Powershell 脚本从服务器 B 远程停止服务器 A 最简单的方法之一就是使用命令行执行PsExec http www microsoft com technet sysinterna
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • 获取文件夹及其子文件夹中最长文件路径的长度

    我正在寻找一个可以从命令行 批处理 PowerShell 运行的脚本 该脚本将遍历文件夹及其子文件夹 并返回一个数字 该数字是最长文件路径的长度 我已经看到了一些批处理和 PowerShell 脚本 例如 如何在 Windows 中查找路径
  • Powershell:根据属性过滤属性

    我对 PowerShell 的自学经验有限 所以这可能是一些基本的东西 但我似乎无法正确理解 我在 Active Directory 中 需要提取电子邮件地址不以 SamAccountName 开头的用户列表 因此 如果您的登录名是 jdo
  • 替换 CSV 文件中的引号和特殊字符的一些难题

    我在处理一些需要清理并加载到数据库中的 CSV 文件时遇到了一些难题 我相当擅长使用 PowerShell 但不擅长正则表达式和 csv 列操作 这是我遇到的问题 我正在使用的 CSV 文件中有一个 注释 字段 可以包含各种不同的字符 主要
  • 使用 powershell 编辑 XML

    好吧 我感觉自己像个大白痴 为了工作中的管理目的 我使用 Powershell 已经有一段时间了 也就是说 编写脚本不是我的强项 现在 我正在尝试编写一个 PS 脚本 将一个部分添加到一堆机器上的 XML 中 以添加设置来解决我们在某个应用
  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 带有多个附件的电子邮件

    我正在为服务台编写一个 PowerShell 脚本 以便在将 userhome 文件夹从服务器迁移到 NAS 设备时使用 帮助台用户将用户名输入到 userhomelist txt 文件中 我的问题是我无法获取脚本来附加所有日志文件 电子邮
  • 抑制数组列表添加方法管道输出

    我正在使用数组列表来构建日志项序列以供稍后记录 工作起来很不错 但是 Add 方法将当前索引发送到管道 我可以通过将其发送到 null 来解决这个问题 如下所示 strings Add junk gt null 但我想知道是否有某种机制可以
  • Get-AzureStorageBlob 抛出找不到您的 azure 存储凭据

    我刚刚开始使用 Azure 在使用 PowerShell cmdlet 处理我的存储帐户时遇到问题 我已经创建了一个存储帐户并在该存储帐户中创建了一个容器 接下来 我安装了 Azure Powershell SDK 和命令让等 并导入了pu

随机推荐

  • 在 python 中初始化项目布局?

    假设一个程序员有以下问题 他想开始一个新的Python项目 他需要样板文件的基本布局 例如测试目录 源目录 setuptools 脚本等 他如何使用单个命令创建所有这些内容和布局 例如 粘贴 正如其中一个答案中所建议的 为您提供这项服务 p
  • java.lang.IllegalStateException:CameraX 尚未初始化

    我正在关注这个关于 CameraX 的 Google Codelab 当我开始添加相机预览的部分时 我会这样做 val previewConfig PreviewConfig Builder apply setTargetAspectRat
  • 正则表达式匹配除字母和数字之外的所有字符

    我想清除所有上传文件的文件名 我想删除除句点 字母和数字之外的所有字符 我不擅长正则表达式 所以我想我会在这里问 有人可以告诉我如何将它们组合在一起吗 我正在使用 PHP newfilename preg replace a zA Z0 9
  • onbeforeprint 和 onafterprint 在 Chrome 和 IE 中不起作用?

    我在我的项目中使用打印 使用 HTML 和 javascript 在 mozilla 中 onbeforeprint 和 onafterprint 工作正常 但在 chrome 中不起作用 Chrome 的有效方法是检查 window 中的
  • Pandas DataFrame 烛台图中的重叠日期

    我有一个 pandas 数据框输出如下 Open High Low Close 2016 06 01 69 60 70 20 69 44 69 76 2016 06 02 70 00 70 15 69 45 69 54 2016 06 03
  • 使用 FragmentPagerAdapter 的循环 ViewPager

    我想实现一个 ViewPager 它使用 Fragments 并可以以曲线运动方式滑动 例如页面 ABCA 我读过几篇关于如何完成此操作的帖子 例如返回有多少元素的假计数 并将位置设置在中间的开头 如何创建圆形viewpager 这些似乎都
  • SQLAlchemy 中的事务线程安全吗?

    我正在使用 SQLAlchemy 的表达式语言而不是它的 orm 开发一个 Web 应用程序 我想在我的应用程序中使用多个线程 但我不确定线程 安全 我在用文档的这一部分建立连接 我认为这是线程安全的 因为我在每个请求中引用了特定的连接 这
  • 如何使用 Android Facebook sdk 从 Facebook 获取好友列表? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我在 Facebook 上创建了一个应用程序 并实现了实施 Facebook SDK 的一些第一步 这就是我想要做的 从 Facebook 获取朋友
  • Octave/Matlab 与 Scipy 中的周期图

    我正在使用 scipy 将一些 matlab 代码移植到 python 中 但遇到了以下行 Matlab 倍频程代码 Pxx f periodogram x 512 5 Python代码 f Pxx signal periodogram x
  • JSONPath通过子子值获取父元素的id

    鉴于以下 JSON 我想得到id通过子元素的 equals 文本比较父元素的字段 datapoints id default 1 definedBy default 0 1 featureValues bui displayname Hea
  • 使用 Google Apps 脚本创建草稿邮件

    我想知道是否可以使用 Google Apps 脚本创建草稿邮件 如果是的话 怎么可能 问候 塞巴斯蒂安 此时 无法创建出现在您的Drafts文件夹 之前已请求此功能 请参阅第985期 如果您有兴趣接收任何更新 请访问该问题并加注星标 EDI
  • Entity Framework Core 中的流畅 API、多对多

    我在 stackoverflow 上搜索了生成的正确解决方案多对多关系 使用 EF Core 代码优先和 Fluent API 一个简单的场景是 public class Person public Person Clubs new Has
  • 将 jQuery 插件与 Backbone 和 Requirejs 一起使用

    我正在使用backbone requirejs jquery 并且我在当前的html页面 准确地说是backbone html模板 中加载jquery插件时遇到问题 有我需要的配置 require config paths some cod
  • 如何判断文件夹是否打开?

    在我的应用程序中 我尝试重命名该文件夹 但如果在 Windows 资源管理器中打开该文件夹 我会得到一个IOException 如何在 C 中判断文件夹是否在 Windows 资源管理器中打开 捕获 IOException 正如其他人所说
  • Python 尝试例外

    try statement 1 statement 2 except Exception err print err pass 这可能很微不足道 但直到现在我才真正考虑过它 我发现自己无法回答以下问题 如果语句 1 中出现错误 语句 2 是
  • C/C++ 改变 const 的值

    我有一篇文章 但我把它弄丢了 它展示并描述了一些人们应该小心的 C C 技巧 其中之一让我感兴趣 但现在我正在尝试复制它 但无法将其编译 这个概念是有可能偶然改变一个值const在 C C 中 事情是这样的 const int a 3 I
  • 在 Javascript 中,即使从不抛出异常,使用 try-catch 块是否昂贵?

    当其中任何一个都没有抛出异常时 使用多个 try catch 块是否 慢 我的问题与this one 但对于 JavaScript 假设我有 20 个函数 其中包含 try catch 块 另一个函数调用这 20 个函数中的每一个他们都没有
  • 不同程序集中的两个分部类是否可以代表同一个类?

    我在名为 MyProject Data 的项目中有一个名为 Article 的类 它充当我的 Web 应用程序的数据层 我有一个名为 MyProject Admin 的单独项目 它是一个基于 Web 的管理系统 用于查看 编辑数据 并使用
  • AlamoFire 忽略缓存控制标头

    是否可以忽略cache control使用 AlamoFire 执行请求 处理响应时的标头 目前我正在发出如下请求 服务器返回大量cache control标头 而实际上我们需要忽略它们 Alamofire request GET url
  • Powershell - 使用 get-adcomputer 时过滤 OU

    我正在尝试创建一个脚本 该脚本根据计算机可能具有的特定属性生成计算机列表 例如 我试图列出 Windows XP 计算机和 Windows 7 计算机的列表 将它们的名称放入 csv 文件中 并输出每台计算机的最终计数 到目前为止 这是我的