В командной консоли Exchange вы можете написать запрос для отображения действий администратора.Что означает команда Powershell на английском языке?
Search-AdminAuditLog -Startdate ((get-date).AddDays(-5)) -EndDate (get-date) | where{$_.caller -ne "NT AUTHORITY\SYSTEM (MSExchangeHMWorker)"} |select Caller, Rundate, ObjectModified, CmdLetName, @{n="Parameters"; e={$e=$null;$_.CmdLetParameters|%{$e += (" -" + $_.name.tostring() + " '" + $_.value + "'")};$e}} | ft -autosize
Большинство команд имеют смысл, но может кто-нибудь объяснить @ ... часть на английском языке? В частности эта часть:
@{n="Parameters"; e={$e=$null; $_.CmdLetParameters | %{$e += (" -" + $_.name.tostring() + " '" + $_.value + "'")};$e}}
Просто, чтобы добавить к этому правильному ответу, синтаксис @ {} создает хэш-таблицу, содержащее имя и выражение вычисляемого свойства. Проверьте ссылку, предоставленную для подробного объяснения. – websch01ar
Спасибо за ссылку, она объясняет, что «n =», однако, «e =» часть по-прежнему выглядит очень загадочно; Я знаю, что это расширяет $ _. CmdLetParameters до пар ключ-значение. Вы можете объяснить эту часть? – meraydin