Я пытаюсь сценарий powershell, работающий с моими учетными данными администратора. Я все еще плохо знаком с "миром сценариев powershell", поэтому я просматривал существующие сценарии и связывал / модифицировал их вместе.

У меня есть строка:

$targetdomain = ""
Write-Verbose "Getting credentials"
$domaincredential = Get-Credential -UserName "$targetdomain\$env:USERNAME-ADM" -Message "Use a credential that has permission to create users in the target domain $targetdomain"

Эти подсказки для моей учетной записи -adm, которые я затем набираю. Но когда я пытаюсь запустить скрипт, он говорит

Set-ADUser: недостаточно прав доступа для выполнения операции

Если открыть powershell, «щелкнув правой кнопкой мыши по значку-> Запуск от имени администратора-> Введите учетные данные», а затем скопировать скрипт, он будет работать как шарм.

Итак, мой вопрос. Что я делаю неправильно? Я предполагаю, что это строка учетных данных, но я просто не могу понять, что не так. Я также пробовал с « $cred = Get-Credential domain\username », но это тоже не работает.

Вы можете увидеть полный скрипт ниже:

$targetdomain = ""
Write-Verbose "Getting credentials"
$domaincredential = Get-Credential -UserName "$targetdomain\$env:USERNAME-ADM" -Message "Use a credential that has permission to create users in the target domain $targetdomain"

foreach($line in Get-Content "request.txt") {

if ($line.length -eq 0) {
$line = "  "
}

    if($line -match "First name of user: ") {
            $name = $line.Substring(21).trim()
   }

    if($line -match "  Last name of user: ") {
            $lastname = $line.Substring(22).trim()
    }

    if ($line.Substring(0,1) -eq "" -and $line.Length -eq 6) {
            $LID = $line.trim()
    }
}
Set-ADUser -Identity $LID -Add @{ProxyAddresses = ""}
Set-ADUser -Identity $LID -Add @{ProxyAddresses = ""}

1 ответ1

3

Посмотрите внимательно на код: вы запрашиваете учетные данные пользователя, сохраните их в переменной $domaincredential которая позже не будет использоваться.

Добавьте аргумент -Credential $domaincredential к вызовам командлета Set-ADuser :

Set-ADUser -Identity $LID `
           -Add @{ProxyAddresses = "NOTES:$name $lastname/DK$LID/UNIBANK"} `
           -Credential $domaincredential

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .