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

VB脚本格式化AD数据问题:多属性列错位修正需求

解决AD计算机属性导出与CSV转换错位问题

第一步:确保批处理导出的文本格式正确

先确认批处理命令导出的属性用制表符分隔(dsget默认行为),正确命令如下:

dsquery * domainroot -filter "(objectCategory=computer)" -attr Name distinguishedName operatingSystem operatingSystemVersion whenChanged whenCreated > fullq.txt

该命令会导出所有计算机对象的指定属性,属性间用制表符分隔,避免因空格导致字段错位。

第二步:修正VB脚本实现正确转换

以下是修正后的VB脚本,可解决字段错位问题,同时将distinguishedName中的逗号替换为/:

Dim objFSO, objInputFile, objOutputFile
Dim strLine, arrFields, strDistinguishedName

' 创建文件系统对象
Set objFSO = CreateObject("Scripting.FileSystemObject")

' 打开输入文件和输出CSV文件
Set objInputFile = objFSO.OpenTextFile("fullq.txt", 1) ' 1=只读模式
Set objOutputFile = objFSO.CreateTextFile("computers.csv", True) ' True=覆盖现有文件

' 写入CSV表头
objOutputFile.WriteLine "Name,distinguishedName,operatingSystem,operatingSystemVersion,whenChanged,whenCreated"

' 逐行读取输入文件
Do Until objInputFile.AtEndOfStream
    strLine = objInputFile.ReadLine
    ' 跳过空行和表头行
    If Trim(strLine) <> "" And Left(strLine, 4) <> "Name" Then
        ' 按制表符分割字段(核心修正:避免空格分割导致的错位)
        arrFields = Split(strLine, vbTab)
        
        ' 替换distinguishedName中的逗号为/
        If UBound(arrFields) >= 1 Then
            strDistinguishedName = Replace(arrFields(1), ",", "/")
        Else
            strDistinguishedName = ""
        End If
        
        ' 按CSV格式写入字段,用双引号包裹防止格式混乱
        objOutputFile.WriteLine """" & arrFields(0) & """,""" & strDistinguishedName & """,""" & _
            arrFields(2) & """,""" & arrFields(3) & """,""" & arrFields(4) & """,""" & arrFields(5) & """"
    End If
Loop

' 关闭文件
objInputFile.Close
objOutputFile.Close
Set objFSO = Nothing

WScript.Echo "转换完成,已生成computers.csv"

关键修正说明

  • 按制表符分割字段:原脚本错误使用空格分割,而distinguishedName和operatingSystem本身包含空格,会导致字段错位。改用vbTab分割,匹配dsquery导出的原生分隔符,确保属性对应正确列。
  • 替换逗号为斜杠:通过Replace函数处理distinguishedName中的逗号,避免CSV将其识别为列分隔符。
  • 字段加双引号:所有字段用双引号包裹,防止空格或特殊字符破坏CSV格式。

使用方法

  1. 运行批处理命令生成fullq.txt。
  2. 将上述VB脚本保存为ConvertToCSV.vbs。
  3. 双击运行脚本,生成computers.csv文件。

内容的提问来源于stack exchange,提问作者Josh123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:23:21