2016-11-13 33 views
1

我正在使用下面的vbs啓用並重命名管理員本地帳戶,但失敗。它不啓用帳戶,也不重命名它。我現在打結,爲什麼,它看起來像一個簡單而簡單的腳本。任何線索?VBS啓用並重命名本地管理員帳戶

sPwd = "hsc1234" 

strComputer = "." 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colAccounts = objWMIService.ExecQuery _ 
    ("Select * From Win32_UserAccount Where LocalAccount = True and Name = 'Administrator'") 

For Each objAccount in colAccounts 
    MsgBox objAccount.Name 
    objAccount.Disabled = False 
    objAccount.Rename("HSC1") 
    objAccount.SetPassword(sPwd)  

Next 
+1

'objAccount.Rename(「HSC1」)'返回一個狀態碼,它是什麼。 'msgbox objAccount.Rename(「HSC1」)' – 2016-11-13 22:40:04

+0

謝謝,我怎麼能得到狀態碼? –

+0

我不把它放在我的評論中。不要回復。你應該是一名程序員。 – 2016-11-13 22:53:23

回答

0

那麼,最後我可以達成解決方案。此解決方案可以啓用和重命名管理員帳戶,並設置管理員密碼。我在W10上遇到了管理員默認帳戶的一些問題,所以我必須在高級模式下推送腳本。

If Not WScript.Arguments.Named.Exists("elevate") ThenCreateObject("Shell.Application").ShellExecute WScript.FullName _ 
    , """" & WScript.ScriptFullName & """ /elevate", "", "runas", 1 
    WScript.Quit 
End If 

sPwd = "hsc1234" 
strComputer = "." 
sUser = "XXxx" 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colAccounts = objWMIService.ExecQuery("Select * From Win32_UserAccount Where LocalAccount = True and Name = 'Administrator'") 

For Each objAccount in colAccounts  
    objAccount.Disabled = False 
    objAccount.Put_ 
    objAccount.Rename sUser 
    'objAccount.SetPassword sPwd  
Next 


Set oUser = GetObject("WinNT://" & strComputer & "/" & sUser 
oUser.SetPassword sPwd 
oUser.Setinfo 
相關問題