Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Имя поставщика
Переменная
Drives
Variable:
Capabilities
ShouldProcess
Краткое описание
Предоставляет доступ к переменным PowerShell и их значениям.
Подробное описание
Поставщик переменных PowerShell позволяет получать, добавлять, изменять, очищать и удалять переменные PowerShell в текущей консоли.
Поставщик переменной PowerShell поддерживает переменные, создаваемые PowerShell, включая автоматические переменные, переменные предпочтения и создаваемые переменные.
Диск переменных — это простое пространство имен, содержащее только объекты переменных. Переменные не имеют дочерних элементов.
Поставщик переменной поддерживает следующие командлеты, описанные в этой статье.
- Get-Location
- "Настройка расположения"
- get-Item
- нового элемента
- Remove-Item
- Очистить-Элемент
PowerShell также включает набор командлетов, предназначенных специально для просмотра и изменения переменных. При использовании командлетов переменной не нужно указывать диск Variable: в имени. В этой статье не рассматривается работа с командлетами переменных.
Заметка
Вы также можете использовать средство синтаксического анализа выражений PowerShell для создания, просмотра и изменения значений переменных без использования командлетов. При работе с переменными напрямую используйте знак доллара ($) для идентификации имени как переменной и оператора назначения (=), чтобы установить и изменить его значение.
Например, $p = Get-Process создает переменную p и сохраняет результаты команды Get-Process в ней.
Типы, предоставляемые этим поставщиком
Переменные могут быть одним из нескольких различных типов. Большинство переменных будут экземплярами класса PSVariable. Ниже перечислены другие переменные и их типы.
- Переменная
?— это экземпляр классаQuestionMarkVariable. - Переменная
null— это экземпляр классаNullVariable. - Максимальное число переменных — это экземпляры класса
SessionStateCapacityVariable. -
LocalVariableинстанции содержат сведения о текущем выполнении, например:MyInvocationPSCommandPathPSScriptRootPSBoundParametersargsinput
Навигация по дискам переменной
Поставщик переменной предоставляет хранилище данных на диске Variable:. Чтобы работать с переменными, можно изменить расположение на диск Variable: (Set-Location Variable:) или использовать любой другой диск PowerShell. Чтобы ссылаться на переменную из другого расположения, используйте имя диска (Variable:) в пути.
Set-Location Variable:
Чтобы вернуться к диску файловой системы, введите имя диска. Например, введите:
Set-Location C:
Вы также можете работать с поставщиком переменной с любого другого диска PowerShell. Чтобы использовать переменную из другого места, укажите в пути имя диска Variable:.
Заметка
PowerShell использует псевдонимы, чтобы предоставить вам знакомый способ работы с провайдерными путями. Такие команды, как dir и ls, теперь являются псевдонимами для Get-ChildItem, cd является псевдонимом для Set-Location. и pwd — это псевдоним для Get-Location.
Отображение значения переменных
Получите все переменные в текущем сеансе
Эта команда получает список всех переменных и их значений в текущем сеансе. Эту команду можно использовать из любого диска PowerShell.
Get-ChildItem -Path Variable:
Получение переменной с помощью пути поставщика
Эта команда извлекает значение переменной, используя путь поставщика, который начинается со знака доллара ($). Это имеет тот же эффект, что и префикс имени переменных с символом доллара ($).
$Variable:HOME
Получение переменных с помощью подстановочных знаков
Эта команда получает переменные с именами, начинающимися с "Max". Эту команду можно использовать из любого диска PowerShell.
Get-ChildItem -Path Variable:Max*
Получение значения объекта ? переменная
Эта команда использует параметр -LiteralPathGet-ChildItem для получения значения переменной ? из диска Variable:.
? — это подстановочный знак в путях, но Get-ChildItem не пытается устранить подстановочные знаки в значениях параметра -LiteralPath.
Get-ChildItem -LiteralPath ?
Получение переменных только для чтения и константных
Эта команда получает переменные, имеющие значения ReadOnly или Constant для свойства Options.
Get-ChildItem -Path Variable: |
Where-Object {
$_.Options -match 'Constant' -or
$_.Options -match 'ReadOnly'
} |
Format-List -Property Name, Value, Options
Создание переменных
Создание новой переменной
Эта команда создает переменную services и сохраняет результаты команды Get-Service в ней. Так как текущее расположение находится на диске Variable:, значение параметра -Path является точкой (.), представляющей текущее расположение.
Круглые скобки вокруг команды Get-Service обеспечивают выполнение этой команды перед созданием переменной. Без круглых скобок значение новой переменной — это строка Get-Service.
New-Item -Path . -Name services -Value (Get-Service)
Создание переменной с помощью абсолютного пути
Эта команда создает переменную services и сохраняет в ней результат команды Get-Service.
New-Item -Path Variable:services -Value Get-Service
Чтобы создать переменную без значения, опустите оператор назначения.
Изменение переменных
Переименование переменной
Эта команда использует командлет Rename-Item для изменения имени переменной a на processes.
Rename-Item -Path Variable:a -NewName processes
Изменение значения переменной
Эта команда использует командлет Set-Item для изменения значения переменной ErrorActionPreference на Stop.
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Копирование переменной
Эта команда использует командлет Copy-Item для копирования переменной processes в old_processes. При этом создается новая переменная с именем old_processes, которая имеет то же значение, что и переменная processes.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Удаление переменной
Эта команда удаляет переменную serv из текущего сеанса. Эту команду можно использовать в любом диске PowerShell.
Remove-Variable -Path Variable:serv
Удаление переменных с помощью параметра -Force
Эта команда удаляет все переменные из текущего сеанса, кроме переменных, свойство параметров которого имеет значение Constant. Без параметра -Force команда не удаляет переменные, свойства options имеет значение ReadOnly.
Remove-Item Variable:* -Force
Задание значения переменной значением NULL
Эта команда использует командлет Clear-Item для изменения значения переменной processes на NULL.
Clear-Item -Path Variable:processes
Использование конвейера
Командлеты поставщика принимают входные данные конвейера. Конвейер можно использовать для упрощения задачи, отправляя данные поставщика из одного командлета в другой командлет поставщика. Чтобы узнать больше о том, как использовать конвейер с командлетами поставщика, см. ссылки на командлеты, приведенные в этой статье.
Получение помощи
Начиная с Windows PowerShell 3.0, вы можете получить настраиваемые разделы справки для командлетов поставщика, которые объясняют, как эти командлеты работают на диске файловой системы.
Чтобы получить разделы справки, настроенные для диска файловой системы, выполните команду Get-Help на диске файловой системы или используйте параметр -Path команды Get-Help, чтобы указать диск файловой системы.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Variable:
См. также
PowerShell