2014-01-22 5 views
0

В командной консоли 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}}

ответ

3

Это называется "Рассчитано свойство". Это способ добавить свойство в выбранный объект с именем, указанным n= и имеющим значение, полученное из выражения e=.

http://technet.microsoft.com/en-us/library/ff730948.aspx

+2

Просто, чтобы добавить к этому правильному ответу, синтаксис @ {} создает хэш-таблицу, содержащее имя и выражение вычисляемого свойства. Проверьте ссылку, предоставленную для подробного объяснения. – websch01ar

+0

Спасибо за ссылку, она объясняет, что «n =», однако, «e =» часть по-прежнему выглядит очень загадочно; Я знаю, что это расширяет $ _. CmdLetParameters до пар ключ-значение. Вы можете объяснить эту часть? – meraydin

Смежные вопросы