怎么利用PowerShell统计域内计算机的操作系统版本分布明细

秋浩小哥_3700

秋浩小哥_3700

2026-05-05

284人浏览

原创

powershell统计域内计算机操作系统版本分布,需满足三前提:电脑已加入域且有ad读取权限、已安装activedirectory模块、目标机开机并wmi/cim正常;脚本自动获取启用计算机、并发采集os信息、按版本分组计数并支持导出csv或excel。

用powershell统计域内计算机的操作系统版本分布,核心是:先获取所有启用的域计算机对象,再逐台采集其操作系统信息,最后按版本归类计数。整个过程依赖active directory模块和远程系统信息读取能力,无需在每台机器上手动执行。

前提条件与环境准备

确保满足以下三点,否则命令会失败或返回不全:

  • 当前电脑已加入域,且你拥有域用户权限(至少有“读取”计算机对象的权限)
  • 已安装 ActiveDirectory PowerShell模块(通常由RSAT-AD-PowerShell功能提供)
  • 目标域计算机处于开机状态、网络可达,且Windows Management Instrumentation(WMI)或CIM服务正常运行(默认开启)

一键统计操作系统版本分布(推荐方案)

运行以下脚本,它会自动筛选启用的计算机、并发采集系统版本,并输出带计数的汇总表:

Import-Module ActiveDirectory
$computers = Get-ADComputer -Filter {Enabled -eq $true} -Property Name,DNSHostName | Where-Object {$_.DNSHostName}
$results = $computers | ForEach-Object {
    $name = $_.Name
    try {
        $os = Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $_.DNSHostName -ErrorAction Stop
        [PSCustomObject]@{
            ComputerName = $name
            OSName       = $os.Caption
            OSVersion    = $os.Version
            BuildNumber  = $os.BuildNumber
            Architecture = $os.OSArchitecture
        }
    } catch {
        [PSCustomObject]@{
            ComputerName = $name
            OSName       = "无法连接"
            OSVersion    = ""
            BuildNumber  = ""
            Architecture = ""
        }
    }
}
$results | Group-Object OSName | Select-Object @{n='操作系统';e={$_.Name}}, @{n='数量';e={$_.Count}} | Sort-Object 数量 -Descending

输出示例:

Windows Server 2019 Datacenter —— 42
Windows 10 Enterprise —— 217
Windows 11 Pro —— 89
无法连接 —— 12

增强版:区分客户端/服务器并标注大版本

若需进一步识别Windows 10/11或Server 2016/2019/2022,可基于BuildNumber做映射。在上一节脚本的 $os 后添加判断逻辑:

计算机网络安全服务公司网站模板
计算机网络安全服务公司网站模板

计算机网络安全服务公司网站模板是一款适合提供云安全、网络安全、服务器管理。数据安全服务公司宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
$majorVersion = switch ($os.BuildNumber) {
    {$_ -ge 22000} { "Windows 11" }
    {$_ -ge 19041 -and $_ -le 19045} { "Windows 10 20H2" }
    {$_ -ge 17763} { "Windows 10 1809+" }
    {$_ -ge 14393} { "Windows Server 2016 / Windows 10 1607" }
    {$_ -ge 10240} { "Windows 10 1507" }
    {$_ -ge 9200}  { "Windows Server 2012 R2" }
    default { "未知构建号 $($os.BuildNumber)" }
}

然后将 $majorVersion 加入自定义对象中,再用 Group-Object 按该字段分组即可获得更清晰的版本谱系分布。

导出为Excel便于分析

把完整明细保存下来,方便后续筛选或绘图:

$results | Export-Csv -Path "$env:USERPROFILE\Desktop\DomainOSReport.csv" -NoTypeInformation -Encoding UTF8
# 或直接打开Excel(需已安装Microsoft Excel)
$results | Export-Excel -Path "$env:USERPROFILE\Desktop\DomainOSReport.xlsx" -WorksheetName "OS_Distribution"

注意:Export-Excel 需提前安装 ImportExcel 模块(Install-Module ImportExcel -Force),比CSV更友好,支持自动调整列宽、冻结首行等。

相关专题

更多
视频服务器配置参数有哪些
视频服务器配置参数有哪些

视频服务器配置参数有处理器、内存、存储、视频编解码器、网络接口、视频输入输出接口、操作系统、安全性、环境适应性和成本。在搭建视频服务器时,需要根据实际需求和预算,合理选择这些参数,以实现高性能、高稳定性和低成本的目标。

2023.10.17

3780

11

linux的操作系统介绍
linux的操作系统介绍

Linux是一个灵活、稳定、安全的操作系统,适用于各种不同的应用场景,从个人电脑到服务器和嵌入式系统。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.20

3046

12

Linux操作系统的主要用途
Linux操作系统的主要用途

Linux操作系统用途广泛,包括:服务器运营,软件开发,科学研究和教育,嵌入式系统,以及个人电脑和笔记本电脑。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.21

5039

8

linux操作系统的作用
linux操作系统的作用

linux操作系统在以下领域发挥着关键作用:服务器和云计算;嵌入式系统;个人电脑和笔记本电脑;超级计算;其他领域等等。想了解更多linux操作系统的相关内容,可以阅读本专题下面的文章。

2024.04.12

2375

5

有哪些常见的网络操作系统
有哪些常见的网络操作系统

常见的网络操作系统有windows server、linux、unix、macos server、freebsd、cisco ios、juniper junos和hp-ux等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.12

2944

6

32位操作系统怎么改成62位的
32位操作系统怎么改成62位的

要将 32 位操作系统升级到 64 位,需要遵循以下步骤:1. 检查硬件和软件兼容性;2. 备份数据;3. 获取 64 位操作系统;4. 创建可启动安装媒体;5. 从安装媒体启动计算机;6. 选择“升级”选项;7. 完成安装。

2025.04.02

3183

9

服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2432

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 6.9万人学习

C++教程
C++教程

共115课时 | 42.1万人学习