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

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

apelsinchik 17-07-2017 10:33 2751934

Создание скрипта - фильтр содержимого .svc
 
Доброго дня.
Помогите пожалуйста написать скрипт для работы с Powershell
Cитуация такая:
Eсть файл, который периодически редактируется отделом кадров (AD.csv)
B этом файле информация по пользователям из Activ Directory приблизительно в таком порядке :

sAMAccountName,AccountStatus,mail,displayName
testv,Enabled,testv@domain.com,Test Vika
vladt,Disabled,vladt@domain.com,Vlad Tovbis
yanp,Disabled,yanp@domain.com,Yan Petrov
ninai,Enabled,ninai@domain.com,Nina Ivanova


и т.д.
Hужно сделать так, чтоб из этого файла брались пользователи из столбика AccountStatus, которые помечены как Disabled и :
или записывались в отдельный файл
или чтоб пользователь под этим статусом деактивировался в Active Directory.

Уже 3 дня копаю интернет, но ничего не могу найти. Со скриптами не дружу, сорри .
Надеюсь на вашу помощь
Спасибо

Kazun 17-07-2017 10:37 2751935

Код:

Import-CSV AD.csv | Where {$_.AccountStatus -eq "Disabled"} | Foreach {Disable-ADAccount -Identity $_.sAMAccountName}

apelsinchik 18-07-2017 10:38 2752226

Спасибо большое за быстрый ответ.

А можно деактивировать пользователя в Active Directory если нам не известен параметр sAMAccountName ?
Известен только параметр mail и Pager. Можно как то сделать запрос в AD , получить юзера подходящего по емайлу и деактивировать его, если параметр AccountStatus = Disabled в .svc?
Буду благодарен за скрипчик.

Pager,AccountStatus,mail,Name
2209,Enabled,testv@domain.com,Test Vika
9901,Disabled,vladt@domain.com,Vlad Tovbis
0111,Disabled,yanp@domain.com,Yan Petrov
5641,Enabled,ninai@domain.com,Nina Ivanova


И еще один вопрос. Можно в конце еще запилить, чтоб посылал уведомление на мыло, что скрипт отработал и сохранить отчет, кого деактивировал ?

Спасибо

Kazun 18-07-2017 11:17 2752236

Код:

Import-CSV AD.csv | Where {$_.AccountStatus -eq "Disabled"} | Foreach { Get-ADUser -Filter "pager -eq '$($_.pager)' -and mail -eq '$($_.mail)'" | Disable-ADAccount}

apelsinchik 18-07-2017 11:37 2752243

Запилил вот такой скрипт...
Не могу найти как сделать, чтоб он еще маил отправлял через eXchange.
А так, он еще сохраняет список изменений внесенных в основной документ.

Код:

Import-Csv d:\AD.csv | Where-Object {$_.AccountStatus -eq “Disabled”} | export-csv d:\ADD.csv
$data = import-csv d:\ADD.csv
Import-Module activedirectory

foreach ($line in $data)
{

    $mail = $line.mail
    $pager = $line.pager
 
 $user = Get-ADUser -filter {mail -eq $mail}

 if ($user -ne $null)
    {
      $user | Disable-ADAccount
      Write-Host "Attempting to disable user $mail : Success" -ForegroundColor green
    }
 else
    {
      Write-Host "Can't find user $mail in the catalog" -ForegroundColor red
    } 
}


Kazun 18-07-2017 11:41 2752244



Время: 20:01.

Время: 20:01.
© OSzone.net 2001-