Используя PowerShell, чтобы сравнить два файла и напишите мне, если обнаружена разница - PullRequest
0 голосов
/ 02 ноября 2018

Я использую PowerShell для экспорта списка пользователей, входящих в группу администраторов, в текстовый файл. Затем я использую Compare-Object для поиска различий. Я ищу, чтобы автоматизировать этот процесс и напишите мне, если разница найдена. Я могу сравнить два файла и отправить электронное письмо, но я понимаю, что не знаю, как добавить результаты сравнения в электронное письмо.

1 Ответ

0 голосов
/ 02 ноября 2018

Может быть, это то, что вы ищете:

$changedEntries = Compare-Object (gc adminreport.txt) (gc adminreport2.txt) | ?{$_.SideIndicator -eq "<="}  | select -expandproperty inputobject
Write-Host "Changed entries: $changedEntries"
if ($changedEntries) {
    $joinedChangedEntries = 
    send-mailmessage smtpserver mail .mydomaincom -To administrator@mydomain.com -From user@mydomain.com -Subject 'Admin member changed' -Body 
}

UPDATE:

Я тестировал приведенный выше код с простыми int-массивами.

$a = 1..4
$b = 4..8
$changedEntries = Compare-Object $a $b | ?{$_.SideIndicator -eq "<="}  | select -ExpandProperty inputobject
$joinedEntries = $changedEntries -join ","
if ($changedEntries) { write-host "Found changed entries: $joinedEntries" }
$joinedEntries.GetType()

 IsPublic IsSerial Name                                     BaseType
 -------- -------- ----                                     --------
 True     True     String                                   System.Object

Таким образом, скелет кода такой же, как и опубликованный выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...