Почему это возвращает -2 - PullRequest
       0

Почему это возвращает -2

0 голосов
/ 03 апреля 2020

Я пытаюсь следовать учебнику, и я не понимаю, почему это возвращает -2. Скрипт работает и делает все, что должен, но консоль выдает -2. Не могу понять, почему. Есть идеи?

Нет ошибок, которые выводятся на консоль. Только -2.

param($FirstName,$MiddleInitial,$LastName,$Location = 'OU=Corporate Users',$Title)

$DefaultPassword = 'p@$$word12'
$DomainDn = (Get-ADDomain).DistinguishedName
$DefaultGroup = 'Gigantic Corporation Inter-Intra Synergy Group'

### ------------------------------------------------------------------------------------------------
### Figure out what the username should be
###

$Username = "$($FirstName.SubString(0,1))$LastName"

$EaPrefBefore = $ErrorActionPreference 
$ErrorActionPreference = 'SilentlyContinue'

    if (Get-ADUser $Username) {
        $Username = "$($FirstName.SubString(0,1))$MiddleInitial$LastName"

        if (Get-ADUser $Username) {
            Write-Warning "No acceptable username schema could be created"
            return
        }
    }


### ----------------------------------------------------------------------------------------------
### Create the user account 
###

$ErrorActionPreference - $EaPrefBefore
$NewUserParams = @{
    'UserPrincipalName' = $Username
    'Name' = $Username
    'GivenName' = $FirstName
    'Surname' = $LastName
    'Title' = $Title
    'SamAccountName' = $Username
    'AccountPassword' = (ConvertTo-SecureString $DefaultPassword -AsPlainText -Force)
    'Enabled' = $true
    'Initials' = $MiddleInitial
    'Path' = "$Location,$DomainDn"
    'ChangePasswordAtLogon' = $true
}

New-ADUser @NewUserParams

### ----------------------------------------------------------------------------------------------
### Add the user account to the company standard group
###

Add-ADGroupMember -Identity $DefaultGroup -Members $Username

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

1 Ответ

4 голосов
/ 03 апреля 2020

Когда значение возвращается выражением в PowerShell и не назначается переменной, оно выводится на консоль. Похоже, это исходит из вашей строки
$ErrorActionPreference - $EaPrefBefore, которая просто вычитает два кода и ничего не делает с результатом. Я думаю, что вы хотели использовать знак равенства (=) вместо минуса.

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