Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Многим людям нравится использовать PowerShell , потому что он позволяет им делать то, что невозможно сделать с помощью графического интерфейса Windows. Несмотря на это, нельзя отрицать, что некоторые командлеты PowerShell могут быть немного утомительными или сложными. Но что, если бы существовал способ редактировать эти командлеты и заставить их «вести себя» так, как вы хотите? Хотите верьте, хотите нет, но есть простой способ сделать это. Вы можете изменить поведение командлета, изменив значения параметров PowerShell по умолчанию. В этой статье показано, как использовать параметры PowerShell по умолчанию для изменения поведения команд командлета.

Предупреждение

Прежде чем начать, есть несколько вещей, которые вам нужно иметь в виду. Хотя изменение параметров PowerShell по умолчанию и поведения cmdelt удобно, это может привести к проблемам. Если вы запустите сценарий, который предполагает, что измененный командлет будет вести себя определенным образом, вы можете получить непредсказуемые результаты. Поэтому вам следует тщательно менять параметры PowerShell по умолчанию.

Быстрый обзор

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

Второе понятие, с которым вы, возможно, знакомы, — это хеш-таблица. По сути, хеш-таблица представляет собой список, состоящий из пар ключ/значение. Например, предположим, что вы хотите создать хеш-таблицу, содержащую названия штатов США и их сокращения. Ниже приведен код:

$StateList = @{}
$StateList.add('Флорида','Флорида')
$StateList.add('Южная Каролина','SC')
$StateList.add('Джорджия','GA')
$StateList

Первая строка кода создает пустую хеш-таблицу с именем $StateList . Следующие три строки добавляют записи в таблицу. Каждая запись состоит из ключа (названия состояния) и значения (аббревиатуры состояния). В последней строке указано содержимое таблицы. Вы можете увидеть код в действии на изображении ниже.

Это всего лишь очень простой пример, и существует множество других способов использования хеш-таблиц.

Работа с параметрами PowerShell по умолчанию.

PowerShell имеет встроенную переменную, используемую для хранения параметров по умолчанию, используемых с его командлетами. Эта переменная называется $PSDefaultParameterValues . Как вы могли заметить из первоначального введения и названия переменной, это не обычная переменная, а хеш-таблица. Однако если вы введете имя переменной в PowerShell, вы быстро увидите, что таблица пуста, как показано ниже.

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Итак, что мы можем сделать с этой переменной $PSDefaultParameterValues . Как упоминалось выше, вы можете контролировать поведение командлетов PowerShell. Единственный момент – вы не сможете преодолеть заложенные в команду командлета возможности. Итак, давайте посмотрим на пример.

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

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Теперь мы изменим этот командлет, чтобы он отображал не часовой пояс, который настроена использовать система, а доступные часовые пояса. Для этого нам понадобится синтаксис командлета с использованием командлета Get-Help, за которым следует командлет Get-TimeZone . Вы можете увидеть синтаксис командлета ниже.

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Этот синтаксис включает параметр ListAvailable . Введите команду ниже:

$PSDefaultParameterValues.Add("Get-TimeZone:ListAvailable",$True)

Первая часть этой команды просто сообщает PowerShell, что вы хотите добавить значение в хеш-таблицу, как мы это сделали с примером сокращения штата США в предыдущем разделе. Эта хеш-таблица содержит пару ключ/значение. В этом случае ключом является имя командлета (Get-TimeZone), за которым следует запятая и имя параметра, который вы хотите установить. В данном случае имя параметра — ListAvailable. Вторая часть этого командлета — это значение, которое вы хотите присвоить параметру. Вот это $True . Параметру ListAvailable обычно не требуется значение, поэтому указание $True позволяет PowerShell использовать этот параметр без присвоения ему значения.

Если вы посмотрите на изображение ниже, вы увидите, что происходит при запуске командлета Get-TimeZone.

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Что следует иметь в виду

Самое важное, что нужно понимать, — это то, что добавление нового значения для параметра PowerShell по умолчанию означает изменение поведения командлета по умолчанию, а не удаление его возможностей. Даже если вы измените командлет Get-TimeZone, чтобы он отображал доступные часовые пояса вместо отображения текущего часового пояса. Вы по-прежнему можете отображать информацию о текущем часовом поясе, если просматриваете больше.

Еще вам нужно знать, что пользовательские параметры по умолчанию можно удалить. Чтобы удалить один элемент, используйте команду $PSDefaultParameterValues.Remove , за которой следует имя элемента, который вы хотите удалить. Например:

$PSDefaultParameterValues.Remove("Get-TimeZone:ListAvailable")

Вместо этого вы можете удалить все содержимое хеш-таблицы с помощью этой команды:

$PSDefaultParameterValues.Clear();

Ниже вы можете увидеть примеры обеих техник:

Как использовать параметры PowerShell по умолчанию для изменения поведения команды

Вы можете удалить всю хеш-таблицу или удалить одну запись.

Изменение поведения команды командлета по умолчанию — это то, что вы делаете не часто, но когда вам это понадобится, вы уже знаете, как это изменить.

Желаю вам успехов!

Узнать больше:


Как очистить и сбросить кеш Microsoft Store в Windows 10

Как очистить и сбросить кеш Microsoft Store в Windows 10

Если у вас возникли проблемы с установкой или обновлением приложения «Магазин» в Windows 10, это может быть связано с проблемой с кешем магазина. Узнайте как <strong>очистить кеш магазина Microsoft</strong> для вашей учетной записи в Windows 10.

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Кейлоггер - это программное обеспечение для захвата и сбора информации о нажатиях клавиш. Узнайте о лучших бесплатных кейлоггерах для Windows. Как защитить свои данные!

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Если вы используете Microsoft Edge на общем компьютере с Windows 10 и хотите сохранить конфиденциальность своей истории просмотров, узнайте, как настроить Edge для запуска в режиме InPrivate.

8 способов открыть MSConfig в Windows 11

8 способов открыть MSConfig в Windows 11

Вы можете решить многие проблемы, возникающие в Windows 11, с помощью настройки системы. Например, если игра не запускается, открытие и изменение настроек MSConfig может решить проблему.

Инструкция по настройке и использованию VPNBook на Windows

Инструкция по настройке и использованию VPNBook на Windows

VPNBook — бесплатный провайдер VPN с неограниченной пропускной способностью, идеален для доступа к заблокированным сайтам. Узнайте, как настроить VPN на Windows за считанные минуты.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Узнайте, как включить или отключить встроенное автозаполнение в адресной строке проводника и диалоговом окне «Выполнить» в Windows 10. Следуйте нашим простым шагам!

6 способов получить доступ к меню параметров загрузки в Windows 10

6 способов получить доступ к меню параметров загрузки в Windows 10

Windows 10 предоставляет <strong>меню параметров загрузки</strong>, позволяющее исправлять проблемы и перенастраивать систему. Узнайте, как получить доступ к этому меню.

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Кнопка «Удобство доступа» на экране входа в Windows 10 дает возможность пользователям запускать приложения, такие как диспетчер задач и командную строку, для улучшения доступа и функциональности.

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Эта статья поможет вам настроить переключение между веб-камерами на компьютере с Windows 10. Убедитесь, что у вас по умолчанию установлена нужная веб-камера.

9 способов открыть Блокнот в Windows 11

9 способов открыть Блокнот в Windows 11

Узнайте, как быстро и удобно открыть Блокнот в Windows 11 различными способами. Bлокнот — это незаменимое текстовое приложение, которое всегда под рукой.