создание локальных пользователей с использованием XML-файла в качестве источника с помощью сценариев powershell - PullRequest
2 голосов
/ 11 октября 2011

Я пытаюсь создать массовые локальные пользователи с исходным файлом xml со всеми деталями, используя сценарии powershell.Ниже приведен мой пример XML-файла с кодом, который я использую для создания пользователей.Может кто-нибудь помочь мне заставить это работать?

# To run this script use: & "C:\Users\rLisdonk\Desktop\ToServer\Test.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() 
}

1 Ответ

1 голос
/ 11 октября 2011

Powershell будет заменять переменную только значением внутри двойных кавычек, одинарные кавычки будут возвращать буквальное значение. Вы захотите экранировать одинарные кавычки с символом `backtick ', поэтому это будет:

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

Когда вы запускаете его, его нужно запускать с повышенными разрешениями. Если вы хотите сделать это на удаленном компьютере, вам нужно сделать это через Remoting или использовать WMI полностью. Без указанной ошибки я предполагаю, что именно этот запрос WMI, скорее всего, удерживает вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...