Школа Geek: обучение использованию командлетов в PowerShell

Оглавление:

Школа Geek: обучение использованию командлетов в PowerShell
Школа Geek: обучение использованию командлетов в PowerShell

Видео: Школа Geek: обучение использованию командлетов в PowerShell

Видео: Школа Geek: обучение использованию командлетов в PowerShell
Видео: Как добавить и использовать пользовательские словари в Microsoft Word - YouTube 2024, Апрель
Anonim
Если вы использовали ipconfig или ping через командную строку, вы на полпути становились ниндзя PowerShell. Так что давай и присоединяйтесь к нам, когда мы открываем командлеты в этой установке Geek School.
Если вы использовали ipconfig или ping через командную строку, вы на полпути становились ниндзя PowerShell. Так что давай и присоединяйтесь к нам, когда мы открываем командлеты в этой установке Geek School.

Обязательно ознакомьтесь с нашей первой статьей, посвященной PowerShell, и оставайтесь с нами в течение всей нашей недели всю неделю.

Анатомия командлета

В первой части серии мы увидели командлет, который выглядел примерно так:

Update-Help

Командлеты PowerShell имеют синтаксис Verb-Noun, который можно увидеть выше. Важно отметить, что существительное всегда сингулярно, хотя командлет может возвращать более одного результата. Чтобы просмотреть список юридических глаголов в PowerShell, вы можете использовать командлет Get-Verb.

Image
Image

Знание юридических глаголов и запоминание правила единственного существительного действительно помогают угадывать имена командлетов. Например, предположим, что вы хотите получить список Сервисы и их статус - это правильно, это так же просто, как Get-Service. Как вы думаете, мы бы получить список запусков процессы - Правильно, Get-Process сделает трюк.

Get-Process

Get-Mailbox

Однако есть исключение. Отмените обмен, все другие команды, относящиеся к конкретным технологиям, потребуют префикс. Например, если мы хотим получить пользователей, которые в настоящее время вошли в систему через Remote Desktop, мы будем вводить:

Get-RDUserSession

Это можно увидеть на скриншоте ниже.

Примечание. Этот снимок экрана был снят в окне Server 2012, так как именно там вы найдете большинство модулей, относящихся к технологиям.

Некоторое время назад я прочитал статью дона Джонса, крестного отца PowerShell, где он объяснил, что Exchange отправлен до того, как этот префикс был добавлен в командлеты, поэтому он никогда не реализовывал их и никогда не будет.
Некоторое время назад я прочитал статью дона Джонса, крестного отца PowerShell, где он объяснил, что Exchange отправлен до того, как этот префикс был добавлен в командлеты, поэтому он никогда не реализовывал их и никогда не будет.

Псевдонимы

Еще одна особенность PowerShell - возможность иметь несколько способов запуска одних и тех же командных псевдонимов, если хотите. Замечательная вещь о них заключается в том, что они включали в себя множество команд, которые вы могли использовать в командной строке, а также некоторые псевдонимы Linux. Например, в PowerShell мы можем получить список каталогов, используя:

Get-ChildItem

Используется для использования командной строки? Не волнуйся, они тебя покрыли.
Используется для использования командной строки? Не волнуйся, они тебя покрыли.
Есть ли в Linux фон? Они тоже там были.
Есть ли в Linux фон? Они тоже там были.

Get-Alias –Name ls

С другой стороны, если вы почувствуете, что пришло время пошагать в игре, вы можете использовать параметр определения, чтобы получить все псевдонимы для командлета:
С другой стороны, если вы почувствуете, что пришло время пошагать в игре, вы можете использовать параметр определения, чтобы получить все псевдонимы для командлета:

Get-ChildItem –Definition Get-ChildItem

Если вы пришли из какого-то другого фона, вы можете добавить свои собственные псевдонимы, выполнив следующие действия:
Если вы пришли из какого-то другого фона, вы можете добавить свои собственные псевдонимы, выполнив следующие действия:

New-Alias –Name icanhazfilez –Value Get-ChildItem

Очевидно, вам нужно будет заменить «icanhazfilez» на имя вашего нового псевдонима и Get-ChildItem командлетом, который вы хотите запустить под капотом.

Следует отметить, что вы теряете все псевдонимы, которые вы определили при закрытии оболочки. Вы можете обойти это, добавив свое определение в свой скрипт профиля.
Следует отметить, что вы теряете все псевдонимы, которые вы определили при закрытии оболочки. Вы можете обойти это, добавив свое определение в свой скрипт профиля.

Усечение параметров

Windows PowerShell также позволяет обрезать имена параметров до момента, когда они становятся двусмысленными, то есть до тех пор, пока PowerShell больше не сможет определить, какой параметр вы говорите. Например:

Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost

Такой же как:
Такой же как:

Get-Service -Na ‘Apple Mobile Device’ -Com localhost

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

Устаревшие команды

Наконец, команды, которые вы знаете и любите, по-прежнему будут работать в PowerShell.

ping www.google.com

Image
Image

Просто помните, что унаследованные приложения, такие как ping, выводят строку, и часто бывает лучше сделать то же самое с помощью командлета PowerShell.

Рекомендуемые: