В прошлой статье я рассказывал как сделать выборку пользователей и машин, которые определенное время не используются.
Сегодня я этот процесс решил еще автоматизировать на основании своей статьи для УМВР.РУ "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()
}}}}
Собственно так я и решаю множество задач
.
![OLORG[dot]ru OLORG[dot]ru](http://olorg.ru/application/maxsite/templates/olorgru/assets/images/logos/olorg-logo.png)