寻找重命名计算机与csv文件和.vbs脚本



我很想在Powershell中这样做,但这不是一个选项。我有一堆电脑,我正在寻找重命名,并试图自动化的过程,尽可能多的我可以。我想有一个csv文件设置与两列(oldname,newname),并能够将信息拉到vbs脚本自动重命名计算机。

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

Name = "wantedcomputername"
Password = "localadminpassword"
Username = "localadminusername"
Set objWMIService = GetObject("Winmgmts:rootcimv2")
'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作为数据库打开可以说是最优雅的方式:

filename = "C:pathtoyour.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

基本上你需要:

  1. 打开文件以文本文件的形式读取(csv就是文本文件)
  2. 文件
  3. 读取一行,用逗号把这行分成两个变量oldname, newname,运行这段代码你必须为计算机做一个重命名
  4. 重复步骤3,直到没有更多的行(即。在csv

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

然后阅读如何在vbscript中分割字符串。[链接]

结合这些知识并填写脚本中最后剩下的步骤。你就快成功了!你需要知道文件读取,分割-这些都是重要的工具总是!!!!

最新更新