 |
|
Включение отключение учетных записей
Здравствуйте, сегодня захотел отключать учетки по параметру из CSV фала и столкнулся со следующей проблемой, что учетные записи остаются активными несмотря на оператор сравнения.
Есть CSV файл со столбцом Enabled, где есть 2 параметра (true/false), но данный скрипт не работает.
Код:
Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter ";" -Path "C:\Users\Администратор\Desktop\2.csv"
$allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=test,DC=edu,DC=test"
foreach ($User in $Users)
{
$ou = $allou | Where {$_.Name -eq $User.OU}
if ($ou)
{
$OU = $ou.DistinguishedName
}
else
{
$OU = "OU=Others,OU=test, DC=edu,DC=test"
}
$Password = $User.Password
$Detailedname = $User.LastName + " " + $User.FirstName + " " + $User.MiddleName
$UserFirstname = $User.FirstName
$UserLastName = $User.LastName
$JobTitle = $User.JobTitle
$SAM= $User.Login + "@edu.test"
$AccountId = $User.Id
$Group1 = $User.GroupType1
$Group2 = $User.GroupType2
$Group3 = $User.GroupType3
$Group4 = $User.GroupType4
$Enabled =$User.Enabled
New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $User.FirstName -Surname $User.LastName -Title $JobTitle -EmployeeNumber $AccountId -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword2" -Force) -Path $OU -ChangePasswordAtLogon $true
if ($Enabled -eq "true")
{
New-ADUser -Name $Detailedname -Enabled $true
}
else
{
New-ADUser -Name $Detailedname -Enabled $false
}
Add-ADGroupMember -Identity $Group1 -Member $User.Login
Add-ADGroupMember -Identity $Group2 -Member $User.Login
Add-ADGroupMember -Identity $Group3 -Member $User.Login
Add-ADGroupMember -Identity $Group4 -Member $User.Login
}
|
$Enabled =$User.Enabled
New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $User.FirstName -Surname $User.LastName -Title $JobTitle -EmployeeNumber $AccountId -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword2" -Force) -Path $OU -ChangePasswordAtLogon $true
if ($Enabled -eq "true")
{
New-ADUser -Name $Detailedname -Enabled $true
}
else
{
New
Будет достаточно:
Код:
$Enabled =[bool]::Parse($User.Enabled)
New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $User.FirstName -Surname $User.LastName -Title $JobTitle -EmployeeNumber $AccountId -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword2" -Force) -Path $OU -ChangePasswordAtLogon $true -Enabled $Enabled
Если требуется влк/откл уже созданные учетные записи,то использовать командлеты:
Код:
$Enabled = [bool]::Parse($User.Enabled)
if($Enabled) {
Enable-ADAccount -Identity $User.Login
}
else {
Disable-ADAccount -Identity $User.Login
}
|
Kazun, cпасибо за помощь! Подошел нижний вариант
|
Время: 10:37.
© OSzone.net 2001-