РАЗДЕЛ
about_Variables
КРАТКОЕ ОПИСАНИЕ
Описание хранения переменными значений, используемых в Windows
PowerShell.
ПОЛНОЕ ОПИСАНИЕ
Переменная - это единица памяти, в которой хранятся значения. В
Windows PowerShell переменные представлены строками текста с
одним словом, которые начинаются со знака доллара ($), например
$a, $process и $my_var.
В Windows PowerShell несколько разных типов переменных.
-- Созданные пользователем переменные: эти переменные создаются и
поддерживаются пользователем. По умолчанию переменные,
создаваемые в командной строке Windows PowerShell, существуют,
только пока открыто окно Windows PowerShell, и теряются после
того, как окно закрывается. Для сохранения переменную следует
добавить в профиль Windows PowerShell. Переменные можно
создавать в скриптах в глобальных или локальных областях или в
областях скриптов.
-- Автоматические переменные: автоматические переменные хранят
состояние Windows PowerShell. Эти переменные создаются Windows
PowerShell, и Windows PowerShell изменяет их значения по мере
необходимости для поддержания их точности. Пользователи не
могут изменять значения этих переменных. Например, переменная
$PSHome содержит путь к каталогу установки Windows PowerShell.
Дополнительные сведения, список и описание автоматических
переменных см. в разделе about_Automatic_Variables.
-- Привилегированные переменные: привилегированные переменные
хранят настройки пользователя для Windows PowerShell. Эти
переменные создаются оболочкой Windows PowerShell и
заполняются значениями по умолчанию. Пользователи могут
изменять значения этих переменных. Например, переменная
MaximumHistoryCount определяет максимальное число записей в
журнале сеанса. Дополнительные сведения, список и описание
привилегированных переменных см. в разделе about_Preference_Var
iables.
РАБОТА С ПЕРЕМЕННЫМИ
Чтобы просмотреть список всех переменных в сессии Windows
PowerShell, наберите команду:
get-variable
Для отображения значения любой переменной введите имя переменной
после знака доллара ($). Windows PowerShell в ответ отобразит ее
значение.
$<имя_переменной>
Пример:
PS> $pshome
C:\Windows\System32\WindowsPowerShell\v1.0
Для создания новой переменной или для изменения значения
переменной используйте инструкцию присваивания в следующем формате:
$<переменная> = <значение>
Пример:
PS> $my-variable = 1, 2, 3
или
PS> $VerbosePreference = "Continue"
Для получения объекта, представляющего переменную, используйте
команду Get-Variable, например:
PS> get-variable pid
Для использования переменной введите в команде или выражении имя
переменной, включая знак доллара ($). Если команда или выражение
не заключены в кавычки или заключены в двойные кавычки ("),
значение переменной используется в команде или выражении. Если
команда заключена в одиночные кавычки ('), в выражении
используется имя переменной.
Например, первая команда находит значение переменной $profile, то
есть путь к файлу профиля пользователя Windows PowerShell. Вторая
команда открывает файл в Блокноте.
PS> $profile
C:\Documents and Settings\User01\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS> Notepad $profile
В переменной можно хранить любые типы объектов, включая целые
числа, строки, массивы и хэш-таблицы, объекты, представляющие
процессы, службы, журналы событий и компьютеры.
СОХРАНЕНИЕ ПЕРЕМЕННЫХ
Создаваемые переменные доступны только во время сеанса, в
котором были созданы. Они пропадают при завершении сеанса.
Для сохранения переменную следует добавить в профиль Windows PowerShell.
Переменные в профиле добавляются в каждый открываемый сеанс
Windows PowerShell.
Например, чтобы изменить значение переменной $VerbosePreference
во всех сеансах Windows PowerShell, необходимо добавить в
профиль Windows PowerShell следующую команду.
$VerbosePreference = "Continue"
Эту команду можно добавить в профиль, открыв файл профиля в
текстовом редакторе, например в Блокноте, или воспользовавшись
командой Add-Content, такой как следующая.
Следующая команда добавляет новое значение переменой
$VerbosePreference в профиль CurrentUser,AllHosts.
add-content -path $profile.CurrentUserAllHosts -value '$VerbosePreference = "Continue"'
Дополнительные сведения о профилях Windows PowerShell см в
разделе about_profiles.
ИМЕНА ПЕРЕМЕННЫХ СО СПЕЦИАЛЬНЫМИ ЗНАКАМИ
Чтобы оболочка Windows PowerShell интерпретировала имя переменной
буквально, можно использовать фигурные скобки. Это особенно
полезно при создании или обращении к имени переменной,
содержащему специальные знаки, например дефисы, точки, двоеточия
и скобки.
Для создания имени переменной, содержащего дефис, заключите его в
фигурные скобки. Следующая команда создает переменную "save-items".
C:\PS> ${save-items} = "a", "b", "c"
C:\PS>${save-items}
a
b
c
Для обращения к имени переменной, содержащему скобки, заключите
его в фигурные скобки.
Например, следующая команда возвращает дочерние элементы в
хранилищах каталогов в переменной среды "ProgramFiles(x86)".
C:\PS> Get-childitem ${env:ProgramFiles(x86)}
Для обращения к имени переменной, содержащему фигурные скобки,
заключите его в фигурные скобки и поставьте перед внутренними
фигурными скобкам escape-символ в виде обратного апострофа.
Например, для создания переменной "this{value}is" со значением 1
введите следующую команду:
C:\PS> ${this`{value`}is} = 1
C:\PS> ${this`{value`}is}
1
ДИСК VARIABLE:
Windows PowerShell включает диск Variable:, который выглядит и
работает как диск файловой системы, но содержит переменные
текущего сеанса.
Чтобы перейти на диск variable, введите следующую команду:
set-location variable:
(или "cd variable:")
На диске Variable можно с помощью командлета Get-ChildItem
вывести список элементов (переменных). Пример:
get-childitem
(или "dir" или "ls")
Чтобы получить дополнительные сведения о диске Variable: и
поставщике Windows PowerShell Variable, введите следующую команду:
get-help variable
СМ. ТАКЖЕ
about_Automatic_Variables
about_Environment_Variables
about_Preference_Variables
about_Scopes