Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Включение отключение учетных записей (http://forum.oszone.net/showthread.php?t=280936)

fcdm25 15-04-2014 21:24 2338592

Включение отключение учетных записей
 
Здравствуйте, сегодня захотел отключать учетки по параметру из 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
   

}


Kazun 15-04-2014 21:53 2338605

$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
}


fcdm25 22-04-2014 23:10 2341737

Kazun, cпасибо за помощь! Подошел нижний вариант


Время: 10:37.

Время: 10:37.
© OSzone.net 2001-