сценарий powershell для добавления пользователя ad

#powershell

#powershell

Вопрос:

итак, я пишу сценарий в powershell для добавления новых сотрудников в ad

 #requires -module ActiveDirectory
[cmdletbinding()]
param(
[parameter(mandatory)] [string]$firstname,
[parameter(mandatory)] [string]$lastname,
[parameter(mandatory)] [string]$department,
[parameter(mandatory)] [int]$employeenumber
)
try {
$userName = '{0}{1}' -f $FirstName.Substring(0, 1), $LastName
$i = 2
while ((Get-ADUser -Filter "samAccountName -eq '$userName'") –and
($userName -notlike "$FirstName*")) { Write-Warning -Message "The username
[$($userName)] already exists. Trying another..." $userName = '{0}{1}' -f $FirstName.Substring(0, $i), $LastName Start-Sleep -Seconds 1 $i  
}
if (-not ($ou = Get-ADOrganizationalUnit -Filter "Name –eq '$Department'"))
{ throw "The Active Directory OU for department [$($department)] could not be found."
} elseif (-not (Get-ADGroup -Filter "Name -eq '$department'")) { throw "The group [$($Department)] does not exist."
}
Add-Type -AssemblyName 'System.Web'
$password = [System.Web.Security.Membership]::GeneratePassword( (Get-Random Minimum 20 -Maximum 32), 3)
$secPw = ConvertTo-SecureString -String $password -AsPlainText -Force
$newUserParams = @{
Givenname = $firstname;
Employeenumber = $employeenumber;
Surname = $surname;
name = $userName;
AccountPassword = $secPw;
ChangePasswordAtLogon = $true;
Enabled = $true;
Department = $department;
path = $ou.DistinguishedName;
confirm = $false
}
New-ADUser @newUserParams
Add-ADGroupMember -Identity $Department -Members $userName
} catch { Write-Error -Message $_.Exception.Message}
  

но я получаю эту ошибку

 cmdlet  at command pipeline position 1
Supply values for the following parameters:
firstname: tim
lastname: smith
department: sales
employeenumber: 789
Error parsing query: 'Name –eq 'sales'' Error Message: 'Operator Not 
supported: ' at position: '6'.
      CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorExcep 
   tion
      FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio 
   n
 
  

Комментарии:

1. Это не доступные для выполнения фрагменты. Можете ли вы кратко изложить цель вашего скрипта в теле вопроса, пожалуйста?

2. - В "Name -eq '$department'" строке 18 короткое тире , замените его обычным тире -

3. и просто как общий совет по устранению неполадок, полезно вывести то, что находится внутри вашего NewUserParams , когда оно заполнено, и просто запустить его вручную. Затем удалите параметры один за другим, чтобы увидеть, в чем проблема. (Хотя это сообщение об ошибке было весьма полезным.)