使用powershell脚本使用XML文件作为源文件创建本地用户



我试图使用powershell脚本创建具有xml源文件的批量本地用户,其中包含所有细节。下面是我的示例xml文件,其中包含用于创建用户的代码。有谁能帮我把这个弄好吗?

# To run this script use: & "C:UsersrLisdonkDesktopToServerTest.ps1" 
$computerName = "USSECAVDSPDWK27" 
$serviceAccountWebName = "saAsaWeb" 
$serviceAccountWebPassword = "MyPassword123" 

"Get computer info" 
$computer = [ADSI]("WinNT://" + $computerName + ",computer") 

"Determine if user [saAsaWeb] exists" 
$serviceAccount = [ADSI]("WinNT://" + $computerName + "/$serviceAccountWebName" + ",user") 
if(!$serviceAccount.Name) 
{ 
    "Create user [saAsaWeb]" 
    $user = $computer.Create("user", $serviceAccountWebName)
    "Set password" 
    $user.SetPassword($serviceAccountWebPassword) 
    $user.SetInfo()
    "Disable [User must change password at next logon]" 
    $user.PasswordExpired = 0 
    $user.SetInfo()
    "Enable [Password never expires]" 
    $wmiuser = Get-WmiObject -class "Win32_UserAccount" -filter "name=’$serviceAccountWebName’" 
    $wmiuser.PasswordExpires = $false 
    $wmiuser.Put() 
}

Powershell只会用双引号内的值替换变量,单引号将返回文本值。您将需要用'反打号字符转义单引号,因此它将是:

$wmiuser = Get-WmiObject Win32_UserAccount -filter "LocalAccount=True AND name=`'$serviceAccountWebName`'" 

当您运行它时,它需要以更高的权限运行。如果您希望在远程机器上执行此操作,则需要通过Remoting或完全使用WMI。如果没有指定的错误,我认为这个WMI查询最有可能是阻碍您的原因。

最新更新