首页 > 解决方案 > 添加广告用户的powershell脚本

问题描述

所以我在powershell中编写一个脚本来在广告中添加新员工

#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
 

标签: powershell

解决方案


推荐阅读