РАЗДЕЛ 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