Какая у вас лучшая команда Powershell? Составим список и проголосуем за лучших!
Get-Member - это король командлетов PowerShell.
Get-Member позволяет интерактивно исследовать статические члены и типы объектов (с переключателем -static).
Мне нравится скрипт для поиска пользователей AD:
$strFilter = "(&(objectCategory=User)(sAMAccountName=[USERNAME]))";
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher;
$objSearcher.SearchRoot = "LDAP://dc=[AD_Location]";
$objSearcher.Filter = $strFilter;
$objSearcher.SearchScope = "Subtree";
$objSearcher.FindALL()
Я должен обратиться за помощью. Этот командлет является ключом к обнаружению функциональности других командлетов. Ближайшим вторым будет get-member.
На данный момент я большой поклонник Get-WMIObject.
«Test-Path» находит это полезным для проверки наличия данных или необходимости добавления значений по умолчанию.
Для меня -Что если самый полезный.
CD (Change-Location) - Я могу перемещаться по реестру, как если бы это была файловая система. в основном вы можете сделать это для всех поставщиков PowerShell (возвращаемых Get-PSProviders)
cd HKLM:\
Никаких вопросов - Get-Member. Я не могу представить себе сеанс PowerShell без его использования. Обнаруживаемость - одна из самых сильных функций Windows PowerShell.
Это больше техника, чем конкретный командлет или функция, но моя любимая вещь в PS - это построение объекта:
$foo=""|select bar, baz, gronk|ft
дает тебе
bar baz gronk
----- ----- ------
что удобно для превращения неструктурированных данных в набор объектов для дальнейшей обработки.
Один из любимых:
Get-Content "c: \ logfile.log" -wait
Версия для PowerShell для 'tail -f' logfile '
Я вижу в списке Get-Member, который, я должен согласиться, лучший, но близкий и столь же необходимый для меня второй:
Format-List
Я обычно использую это после канала, чтобы показать мне все значения свойств объекта:
$SomeObject | fl *
GM сообщит вам, что это за объект, и перечислит имена и типы его свойств, но чаще всего это не помогает вам действительно понять, как эти свойства используются, без поиска документации, которая может быть утомительной.
$SomeObject | Format-List *
выведет все значения свойств, доступных для объекта, чтобы вы могли увидеть их текущие значения и начать поиск свойств, которые вы хотите выбрать или использовать для фильтрации объектов.
Я часто обнаруживаю, что объект имеет несколько свойств, которые на основе документации выглядят так, как будто у них есть данные, которые я хочу, но на самом деле только одно из свойств имеет данные, или данные в одном из них совсем не то, что вы ожидаете на основе только документация.
Я сделал небольшой метод, который добавил в свой профиль. Видеть http://blog.keystroke.ch/2007/08/30/diskusage-in-powershell/.
diskusage myserver
моя любимая команда.
В дополнение к Get-Member я бы сказал, что Add-Member и New-Object, которые дают вам возможность использовать расширяемую систему типов.
Возможность добавлять членов к любому объекту в любое время позволяет вам получать точную информацию, которая вам нужна, с возможностью ее сортировки, группировки, нарезки, кубиков, экспорта или всего, что вы хотите с ней делать.