You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

域内启用状态Windows 10计算机导出CSV及格式优化求助

解决AD中提取启用状态Windows 10计算机并导出CSV的问题

修正后的完整脚本

# 提取启用状态的Windows 10计算机,添加分号并导出CSV
Get-ADComputer -Filter "OperatingSystem -like '*Windows 10*' -and Enabled -eq `$true" `
    -Properties OperatingSystem |
    Select-Object @{Name='ComputerName'; Expression={"$($_.Name);"}}, OperatingSystem |
    Export-Csv -Path "C:\Temp\Win10PCinAD.csv" -NoTypeInformation -Encoding UTF8

问题拆解与解决说明

  • 过滤禁用计算机:在AD查询阶段直接加入Enabled -eq $true条件,只返回启用状态的计算机,避免后续过滤浪费资源。注意Filter使用字符串格式,转义$为`$以适配双引号语法。
  • 移除名称多余空格:原命令使用Format-Table (FT)会为控制台输出添加格式化空格,且输出的是格式化对象而非原始AD数据,导致CSV导出异常。改用Select-Object直接处理原始属性,彻底避免多余空格。
  • 添加名称末尾分号:通过计算属性(Calculated Property)将Name字段处理为"$($_.Name);",生成带分号的计算机名称,满足GPO复制需求。
  • 正确导出CSV:直接从Select-Object的结构化结果导出CSV,同时指定-Encoding UTF8避免中文乱码问题。

更便捷的纯名称导出(直接用于GPO复制)

如果只需要分号分隔的计算机名称,可直接导出到文本文件,复制时更方便:

# 导出分号分隔的计算机名称到文本文件
Get-ADComputer -Filter "OperatingSystem -like '*Windows 10*' -and Enabled -eq `$true" |
    ForEach-Object {"$($_.Name);"} |
    Out-File -Path "C:\Temp\Win10PCNames.txt" -Encoding UTF8

内容的提问来源于stack exchange,提问作者S.Mahmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:28:10