Занятие 1–1. Создание рабочих папок и переменных среды
В этой задаче предстоит создать рабочую папку (C:\DeploymentTutorial) и новые системные переменные среды ( DataTransfer и LoadXMLData ), которые будут использоваться в последующих задачах учебника.
Рабочая папка является корневой папкой диска C. Если необходимо, используйте другой диск или расположение. Однако необходимо обратить внимание на это расположение и использовать его в дальнейшем всегда, когда в учебнике встречается ссылка на рабочую папку DeploymentTutorial.
На следующем занятии пакеты, сохраненные в файловой системе, будут развернуты в таблицу sysssispackages базы данных SQL Server msdb. В идеальном случае предстоит разместить пакеты служб Службы Integration Services на другом компьютере. Если это невозможно, можно все-таки многое изучить в этом учебнике, развертывая пакеты в экземпляре SQL Server на локальном компьютере. Переменные среды, используемые на локальном компьютере и компьютере назначения, имеют одни и те же имена, но в них хранятся разные значения. Например, на локальном компьютере значение переменной среды DataTransfer ссылается на папку C:\DeploymentTutorial, в то время как на целевом компьютере переменная среды DataTransfer ссылается на папку C:\DeploymentTutorialInstall.
Если планируется разместить пакеты на локальном компьютере, то необходимо создать только один набор переменных среды, однако придется назначить переменным окружения соответствующие значения, перед тем как производить локальное размещение.
Если пакеты планируется разместить на другом компьютере, то необходимо создать два набора переменных сред: один набор для локального компьютера, а другой — для целевого компьютера. Пока можно создать только переменные для компьютера источника, а переменные для целевого компьютера можно создать потом, но на целевом компьютере, прежде чем пакеты будут установлены на него, должны быть доступны как переменные среды, так и папка.
Создание локальной рабочей папки
- Щелкните правой кнопкой мыши меню «Пуск» и выберите «Проводник».
- Щелкните Локальный диск (С:).
- В меню Файл выберите пункт Создать, затем выберите пункт Папку.
- Переименуйте новую папку в DeploymentTutorial.
Создание локальных переменных среды
- В меню Пуск выберите пункт Панель управления.
- На панели управления дважды щелкните значок Система.
- В диалоговом окне Свойства системы выберите вкладку Дополнительно , затем нажмите кнопку Переменные среды.
- В диалоговом окне Переменные среды в области Системные переменные нажмите кнопку Создать.
- В диалоговом окне Новая системная переменная введите DataTransfer в поле Имя переменной и C:\DeploymentTutorial\datatransferconfig.dtsconfig в поле Значение переменной .
- Нажмите кнопку ОК.
- Снова нажмите кнопку Создать и введите LoadXMLData в поле Имя переменной и C:\DeploymentTutorial\loadxmldataconfig.dtsconfig в поле Значение переменной .
- Нажмите кнопку ОК для выхода из диалогового окна Переменные среды .
- Нажмите кнопку ОК для выхода из диалогового окна Свойства системы.
- При необходимости перезагрузите компьютер. Если не перезагрузить компьютер, то имя новой переменной не отобразится в мастере настройки пакета, но переменную можно будет использовать.
Создание целевых переменных среды
- В меню Пуск выберите пункт Панель управления.
- На панели управления дважды щелкните значок Система.
- В диалоговом окне Свойства системы выберите вкладку Дополнительно , затем нажмите кнопку Переменные среды.
- В диалоговом окне Переменные среды в области Системные переменные нажмите кнопку Создать.
- В диалоговом окне Новая системная переменная введите DataTransfer в поле Имя переменной и C:\DeploymentTutorialInstall\datatransferconfig.dtsconfig в поле Значение переменной .
- Нажмите кнопку ОК.
- Снова нажмите кнопку Создать и введите LoadXMLData в поле Имя переменной и C:\DeploymentTutorialInstall\loadxmldataconfig.dtsconfig в поле Значение переменной .
- Нажмите кнопку ОК для выхода из диалогового окна Переменные среды .
- Нажмите кнопку ОК для выхода из диалогового окна Свойства системы.
- При необходимости перезагрузите компьютер.
Переменные среды пользователя
Переменные среды указывают пути поиска для файлов, каталоги для временных файлов, параметры конкретного приложения и другие аналогичные сведения. Система поддерживает блок среды для каждого пользователя и один для компьютера. Блок системной среды представляет переменные среды для всех пользователей конкретного компьютера. Блок среды пользователя представляет переменные среды, которые система поддерживает для конкретного пользователя, включая набор системных переменных среды.
По умолчанию каждый процесс получает копию блока среды для родительского процесса. Как правило, это блок среды для пользователя, вошедшего в систему. Процесс может указать различные блоки среды для своих дочерних процессов с помощью функции CreateProcess или CreateProcessAsUser .
Чтобы добавить или изменить переменные среды, пользователь выбирает Система в панель управления, а затем выбирает вкладку Среда. Пользователь также может добавлять или изменять переменные среды в командной строке с помощью команды set. Переменные среды, созданные с помощью команды set , применяются только к командному окну, в котором они заданы, и к его дочерним процессам. Для получения дополнительных сведений введите set /? в командной строке.
Чтобы получить копию блока среды для данного пользователя, используйте функцию CreateEnvironmentBlock . Чтобы освободить блок среды, созданный createEnvironmentBlock, используйте функцию DestroyEnvironmentBlock . Эти функции ссылаться на указатель на блок среды. Блок среды представляет собой массив строк Юникода, завершаемых null. Список заканчивается двумя значениями NULL (\0\0).
Чтобы развернуть строку, содержащую переменные среды, с помощью блока среды для указанного пользователя, используйте функцию ExpandEnvironmentStringsForUser .
Переменные среды Windows, примеры использования


Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.
Что такое переменные среды windows
ИЛИ
Переменная среды — это динамический «объект» на компьютере, содержащий редактируемое значение, которое может использоваться одной или несколькими программами в Windows. Переменные среды помогают программам узнать, в какой каталог устанавливать файлы, где хранить временные файлы и где найти настройки профиля пользователя. Они помогают формировать среду, которую программы на вашем компьютере используют для запуска.
Где используют переменные среды Windows
Приведу несколько примеров:
- В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.

- в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
- Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.
Все переменные среды Windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.
Переменные среды передают информацию о вашем сеансе входа в систему на ваш компьютер. Например, когда приложению необходимо определить, где по умолчанию сохранять файл данных, оно обычно вызывает переменную среды HOMEPATH. Вероятно, вы никогда не устанавливали переменную HOMEPATH самостоятельно, и тем не менее она существует, потому что большинство переменных сред управляются вашей операционной системой. Мастер установки, такой как платформа Nullsoft Scriptable Install System (NSIS) с открытым исходным кодом, обновляет переменные среды при установке нового приложения. Иногда, когда вы устанавливаете что-то за пределами предполагаемого набора инструментов вашей операционной системы, вам, возможно, придется самостоятельно управлять переменной среды. Или вы можете добавить переменную среды в соответствии со своими предпочтениями.
Список переменных сред windows 10
Приведенный глобальный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверено лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.
- %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:\ProgramData
- %windir% > это папка C:\Windows
- %APPDATA% > вы попадается в скрытую папку C:\Users\Имя_пользователя\AppData\Roaming
- %CommonProgramFiles% > папка C:\Program Files\Common Files
- %CommonProgramFiles(x86)% > перекинет вас в C:\Program Files (x86)\Common Files
- %CommonProgramW6432% > перекинет вас C:\Program Files\Common Files
- %COMPUTERNAME% > Имя_компьютера, используется скриптах
- %ComSpec% > откроет командную строку Windows 10 C:\Windows\system32\cmd.exe
- %HOMEDRIVE% > путь к диску C:
- %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя \Users\Имя_пользователя
- %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:\Users\Имя_пользователя\AppData\Local
- %LOGONSERVER% > Имя_компьютера
- %NUMBER_OF_PROCESSORS% > Количество_процессоров
- %OS% > Windows_NT, так же используется в скриптах
- %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
- %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
- %PROCESSOR_ARCHITECTURE% > x86 или AMD64, архитектура Windows
- %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
- %PROCESSOR_LEVEL% > 6
- %PROCESSOR_REVISION% > 2505 (пример)
- %ProgramData% > папка C:\ProgramData
- %ProgramFiles% > C:\Program Files
- %ProgramFiles(x86)% > папка C:\Program Files (x86)
- %ProgramW6432% > C:\Program Files
- %PROMPT% > $P$G
- %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ согласитесь очеь быстро
- %PUBLIC% > C:\Users\Public
- %SystemDrive% > диск C:
- %SystemRoot% > C:\Windows
- %TEMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %TMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %USERDOMAIN% > Имя_компьютера
- %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
- %USERNAME% > Имя_пользователя
- %USERPROFILE% > C:\Users\Имя_пользователя
Как вывести список всех переменных Windows
В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.

Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:
set > D:\Variables.txt

Вот содержимое данного документы.

То же самое можно посмотреть и с помощью оболочки PowerShell, в которой нужно ввести:

Name Value
—- ——
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\Администратор\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
COMPUTERNAME DC01
ComSpec C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK NO
HOMEDRIVE C:
HOMEPATH \Users\Администратор
LOCALAPPDATA C:\Users\Администратор\AppData\Local
LOGONSERVER \\DC01
NUMBER_OF_PROCESSORS 4
OS Windows_NT
Path C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windo.
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE AMD64
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 2c02
ProgramData C:\ProgramData
ProgramFiles C:\Program Files
ProgramFiles(x86) C:\Program Files (x86)
ProgramW6432 C:\Program Files
PSModulePath C:\Users\Администратор\Documents\WindowsPowerShell\ Modules;C:\Program Files\WindowsPo.
PUBLIC C:\Users\Public
SESSIONNAME Console
SystemDrive C:
SystemRoot C:\Windows
TEMP C:\Users\836D~1\AppData\Local\Temp\1
TMP C:\Users\836D~1\AppData\Local\Temp\1
USERDNSDOMAIN ROOT.PYATILISTNIK.ORG
USERDOMAIN ROOT
USERDOMAIN_ROAMINGPROFILE ROOT
USERNAME Администратор
USERPROFILE C:\Users\Администратор
windir C:\Windows
Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:
Для просмотра переменных для компьютера
Для просмотра переменных для пользователя


Создаем переменные среды windows 10 (Графический метод)
ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке «Пуск», выбрав пункт система.


С окне свойства системы, вы должны перейти в пункт «Дополнительные параметры системы»

Далее пункт переменные среды.

И перед вами два вида переменных сред Windows:
- Временные переменные temp
- Системные переменные
И те и другие можно легко изменить или создать.

Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:\Windows\System32\Sysprep

Проверяю, что все добавилось. И теперь вбив переменную %SYSPREP% у меня откроется C:\Windows\System32\Sysprep.

Как видите тут ничего сложного нет, благодаря вот таким вещам вы можете сильно упростить себе жизнь и экономить много времени.
Управление переменными средами Windows через PowerShell
Переменные среды в PowerShell — это особые типы переменных, которые предоставляют системе информацию о среде операционной системы. С помощью переменных среды вы можете просматривать и изменять переменные в реестре Windows, а также переменные, установленные для конкретного сеанса.
PowerShell есть функция, называемая провайдерами, которая создает один или несколько дисков, представляющих собой иерархические структуры, подобные файловой системе, которые позволяют пользователю управлять различными областями в Windows. Один из этих провайдеров предназначен для переменных среды под названием Environment .
В PowerShell переменные среды хранятся на Env:, доступном через поставщика среды PowerShell. Это не физический диск, а виртуальная файловая система.

Как вы можете видеть выше, у поставщика среды есть диск с именем Env. Этот диск предоставляет все переменные среды в системе Windows. Например, командлет Get-ChildItem можно использовать для перечисления всех переменных пользовательской среды в вашей системе.
Get-ChildItem -Path Env:\ или вот так Get-ChildItem Env: | out-host -paging

Как установить локальную переменную среды Windows
Когда вы создаете обычную переменную, она считается локальной, то есть она не определена вне оболочки, которая ее создала, как только вы закроете текущее окно PowerShell, ваша переменная исчезнет — это есть локальная переменная. Давайте создадим ее.
$env:SiteName = ‘pyatilistnik.org’

Чтобы изменить значение нужной переменной, просто повторите команду с нужным значением.

Чтобы добавить к текущему значению, еще одно, то используйте оператор += и разделите значение точкой с запятой (;)
$env:SiteName += ‘;pyatilistnik.info’

Но не забываем, что это временная переменная для текущего сеанса.
Как сделать постоянные переменные среды Windows для пользователя
Чтобы установить переменную среды Windows, которая будет доступна для всех процессов, запускаемых вашей учетной записью, используйте следующее:
Как сделать постоянные переменные среды Windows для компьютера
Чтобы создать переменную среды, видимую для каждого процесса, работающего на машине:
Тут PowerShell использует класс [System.Environment] с методом SetEnvironmentVariable для переменной среды.
Или такой вариант:
[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .info’)
Как удалить переменную среды Windows
Чтобы удалить нужную переменную используйте вот такую конструкцию, в моем примере я удалю переменную siteName.
[Environment]::SetEnvironmentVariable(«siteName», «», «Machine»)
Как выгрузить переменные среды Windows в файл через PowerShell
Если вы хотите сохранить список текущих переменных сред Windows в текстовом файле, то введите команду:
dir Env: | FL | FT -AutoSize >> c:\temp\1.txt
На этом у меня все, если у вас остались вопросы, то пишите постараемся вместе в них разобраться.
Создание и управление переменными средами Windows через командную строку
Не будим списывать со счетов старую, добрую командную строку, так как она умеет так же работать с переменными Windows. Запустите ее от имени администратора.
- Создадим новую пользовательскую переменную MY-EMAIL, для этого пишем:
setx MY-EMAIL «microsoftexam@yandex.ru»
Не забываем перезапустить командную строку, иначе новую переменную вы не увидите.

- Создадим новую системную переменную MY-EMAIL, для этого пишем:
setx /m MY-EMAIL «microsoftexam@yandex.ru»
- Переименовывание пользовательской и системной переменной среды
Просто повторите те же команды, что и выше, но с уже нужными, новыми значениями
- Добавляем еще одно значение в существующую пользовательскую переменную Windows, тут все добавляется через знак «;«.
setx MYWEBPC «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»

- Добавляем еще одно значение в существующую системную переменную Windows, тут все добавляется через знак «;«.
setx /m MY-EMAIL «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»
- Удаляем значение у пользовательской переменной MY-EMAIL
setx MY-EMAIL «»
- Удаляем значение у системной переменной MY-EMAIL
setx /m MY-EMAIL «»
- Удаляем переменную MY-EMAIL
REG delete «HKCU\Environment» /F /V «MY-EMAIL»
REG delete «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment» /F /V «MY-EMAIL»
Популярные Похожие записи:
Get-ADUser и примеры использования- Как преобразовать GUID пользователя Active Directory в имя
Как вернуть средство просмотра фотографий Windows 11, за минуту- Установка и управление модулями PowerShell
Как вывести список установленных программ в Windows 11
Get-ADGroup: Управление группами Active Directory
Переменные среды
Каждый процесс имеет блок среды, содержащий набор переменных среды и их значения. Существует два типа переменных среды: переменные среды пользователя (устанавливаются для каждого пользователя) и системные переменные среды (устанавливаются для всех).
По умолчанию дочерний процесс наследует переменные среды родительского процесса. Программы, запущенные обработчиком команд, наследуют переменные среды обработчика команд. Чтобы указать другую среду для дочернего процесса, создайте новый блок среды и передайте указатель на него в качестве параметра в функцию CreateProcess .
Обработчик команд предоставляет команду set для отображения блока среды или создания переменных среды. Вы также можете просмотреть или изменить переменные среды, выбрав Система в панель управления, Дополнительные параметры системы и щелкнув Переменные среды.
Каждый блок среды содержит переменные среды в следующем формате: Var1=Значение1\0
Var2=Значение2\0
Var3=Значение3\0
.
VarN=ValueN\0\0
Имя переменной среды не может содержать знак равенства (=).
Функция GetEnvironmentStrings возвращает указатель на блок среды вызывающего процесса. Это должно рассматриваться как блок только для чтения; не изменяйте его напрямую. Вместо этого используйте функцию SetEnvironmentVariable , чтобы изменить переменную среды. Завершив работу с блоком среды, полученным из GetEnvironmentStrings, вызовите функцию FreeEnvironmentStrings , чтобы освободить блок.
Вызов SetEnvironmentVariable не влияет на системные переменные среды. Чтобы программно добавить или изменить системные переменные среды, добавьте их в раздел реестраHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment , а затем разверните сообщение WM_SETTINGCHANGE с параметром lParam в строке «Среда». Это позволяет приложениям, таким как оболочка, получать обновления.
Максимальный размер пользовательской переменной среды составляет 32 767 символов. Нет технических ограничений на размер блока среды. Однако существуют практические ограничения в зависимости от механизма, используемого для доступа к блоку. Например, пакетный файл не может задать переменную, длиннее максимальной длины командной строки.
Windows Server 2003 и Windows XP: Максимальный размер блока среды для процесса составляет 32 767 символов. Начиная с Windows Vista и Windows Server 2008, нет технических ограничений на размер блока среды.
Функция GetEnvironmentVariable определяет, определена ли указанная переменная в среде вызывающего процесса, и, если да, то каково ее значение.
Чтобы получить копию блока среды для данного пользователя, используйте функцию CreateEnvironmentBlock .
Чтобы развернуть строки переменных среды, используйте функцию ExpandEnvironmentStrings .