Назад | Перейти на главную страницу

Какая ваша любимая команда или сценарий Powershell для системного администрирования?

Какая у вас лучшая команда 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, которые дают вам возможность использовать расширяемую систему типов.

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