【问题标题】:Looking to Rename Computers with csv file and .vbs script希望使用 csv 文件和 .vbs 脚本重命名计算机
【发布时间】:2014-06-03 00:26:24
【问题描述】:

我很想在 Powershell 中执行此操作,但这不是一个选项。我有一堆要重命名的计算机,并且正在尝试尽可能多地自动化该过程。我想要一个包含两列(旧名称、新名称)的 csv 文件设置,并能够将该信息提取到 vbs 脚本中以自动重命名计算机。

重命名单个计算机的代码是:

Name = "wantedcomputername"
Password = "localadminpassword"
Username = "localadminusername"

Set objWMIService = GetObject("Winmgmts:root\cimv2")

'Call always gets only one Win32_ComputerSystem object.
For Each objComputer In objWMIService.InstancesOf("Win32_ComputerSystem")

    Return = objComputer.rename(Name,Password,Username)
    If Return <> 0 Then
        WScript.Echo "Rename failed. Error = " & Err.Number
    Else
        WScript.Echo "Rename succeeded." &
            "Reboot for new name to have effect"
    End If
Next

我也不想在更改名称后强制重启机器。将完成重新启动,但我不能在重命名中包含一个。我对编码知之甚少,无法从 csv 文件中提取信息,但我将不胜感激任何帮助或反馈。

【问题讨论】:

    标签: csv vbscript wmic


    【解决方案1】:

    将 CSV 作为数据库打开可以说是最优雅的处理方式:

    filename = "C:\path\to\your.csv"
    
    Set csv = CreateObject("Scripting.FileSystemObject").GetFile(filename)
    
    Set conn = CreateObject("ADODB.Connection")
    Set rs   = CreateObject("ADODB.Recordset")
    
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
              "Data Source=" & csv.ParentFolder.Path & ";" & _
              "Extended Properties=""text;HDR=YES;FMT=Delimited"""
    
    rs.Open "SELECT * FROM [" & csv.Name & "]", conn
    
    Do Until rs.EOF
      WScript.Echo rs.Fields("ComputerName").Value
      rs.MoveNext
    Loop
    
    rs.Close
    conn.Close
    

    【讨论】:

      【解决方案2】:

      基本上你需要:

      1. 打开您的文件以作为文本文件读取(csv 只是一个文本文件)
      2. 虽然文件中有行
      3. 读取一行,使用逗号将该行拆分为 2 个变量 oldname、newname,运行这段代码,您必须为计算机重命名
      4. 重复第 3 步,直到 csv 中没有更多行(即没有更多计算机)

      请阅读如何打开文件进行读取并在 vbscript 中逐行读取。 [Link]

      然后阅读如何在 vbscript 中拆分字符串。 [Link]

      结合这些知识并填写脚本中的最后剩余步骤。您快到了!您将需要知道文件读取,无论如何拆分 - 这些都是重要的工具!!!!

      【讨论】:

      • 感谢您的链接。我去看看。
      • 您的链接指向 VB.net 示例,而不是 VBScript 示例。两种语言不一样。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 2011-06-29
      • 2013-09-11
      • 2016-11-01
      • 1970-01-01
      • 2019-07-05
      相关资源
      最近更新 更多