Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Многие MVP по PowerShell и члены группы разработчиков PowerShell помогают мне составлять оглавление нашего блога, фактически это означает, что я возвращаюсь назад и просматриваю все классные штуки[Г1] [a2] , опубликованные в блоге PowerShell за несколько последних лет. Я получаю редкое удовольствие от процесса самообразования и, кстати, когда мы это закончим, в нашем блоге будет гораздо проще что-нибудь найти.
Я стараюсь не отвлекаться и собирать оглавление, вместо того, чтобы комментировать предыдущие сообщения, но некоторые вещи слишком хороши, чтобы устоять.
Например, посмотрите на это сообщение от 17 сентября 2006 г:
В сообщении говорится кое-что о том, как на самом деле можно передать в Get-Item много интересных штук, о которых было неизвестно, как их передать, но ничего не сказано о том, как работает этот кусочек магии PowerShell.
Если это коммандлет или расширенная фунукция, можно указать для параметров атрибут ValueFromPipeline (что приведет к получению из конвейера объекта целиком), можно также получать элемент из конвейера по имени свойства. Поскольку Get-Process имеет свойство Path, и параметр Path у Get-ChildItem помечен как ValueFromPipelineByPropertyName, он использует свойство Path каждого объекта процесса в качестве параметра пути каждого Get-ChildItem.
Зная это вы можете, например, получить все каталоги, в которых находятся запущенные процессы. Вот, посмотрите:
Get-Process |
Get-Item -ErrorAction SilentlyContinue |
Group-Object Directory |
Sort-Object Count -Descending
PowerShell прекрасен.
Надеюсь, это вам поможет,
Джеймс Брандейдж (James Brundage) [MSFT]
Перевод: Виктор Горбунков