В прошлой статье я рассказывал как сделать выборку пользователей и машин, которые определенное время не используются.
Сегодня я этот процесс решил еще автоматизировать на основании своей статьи для УМВР.РУ "PowerShell: Отправляем письмо через Outlook". На самом деле правильно было бы сделать одну статью, но я решил разбить этот процесс на несколько этапов. Благо это сейчас очень любят не только пользователи, но и поисковые системы.
Но думаю что уже отошел от темы статьи, поэтому возвращаемся . Итоговый скрипт должен выглядеть как-то так:
cls # Импорт командлетов должна быть установлена Citrix Studio Asnp Citrix* # Сама выборка $members = Get-BrokerDesktop -MaxRecordCount 1000 -AdminAddress srv-xd1 | select LastConnectionTime, MachineName, AssociatedUserUPNs; # Обход выгрузки foreach ($member in $members) { # Все кто не подключался 30 и более дней if($member.LastConnectionTime -lt (Get-Date).AddDays(-30)) { # Есть индивиды, которые так ни разу и не подключались if(!$member.LastConnectionTime) {$member.LastConnectionTime = (Get-Date).Date.AddDays(-29200)} if($member.AssociatedUserUPNs){ # Исключение, начальников и директоров Мы беспокоить не хотим, так как они в приоритете if($member.AssociatedUserUPNs -ne "BOSS@olorg.ru"){ # Формируется почта $ol = New-Object -comObject Outlook.Application $mail = $ol.CreateItem(0) $mail.GetInspector.Activate() # В тему имя VDI машины $mail.Subject = $member.MachineName # Куда отправляем $mail.Recipients.Add($member.AssociatedUserUPNs) # По корпоративной этике должна быть подпись $sSignature = $mail.HTMLBody $mail.HTMLBody = "Добрый день!" + " " + "Вы VDI продолжительное время не используете. " + "Давайте её уничтожим, <a href=mailto:helpdesk@olorg.ru?subject=%D0%A3%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B8%D1%82%D1%8C%20%D0%BC%D0%BE%D1%8E%20VDI&body=%D0%9F%D1%80%D0%BE%D1%88%D1%83%20%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B8%D1%82%D1%8C%20%D0%BC%D0%BE%D1%8E%20VDI%20-%20" + $member.MachineName + ">достаточно только кликнуть</a>." + "Спасибо!" + $sSignature # Сохраняем и отправляем. $mail.save() $mail.send() }}}}
Собственно так я и решаю множество задач .