РАЗДЕЛ
	about_Profiles

КРАТКОЕ ОПИСАНИЕ
	Содержит описание, как создавать и использовать профиль Windows 
	PowerShell.

ПОЛНОЕ ОПИСАНИЕ
	Создав профиль Windows PowerShell, вы получаете возможность 
	настраивать окружение и добавлять специфичные для сеанса элементы 
	в каждый создаваемый сеанс. 

	Профиль Windows PowerShell - скрипт, который выполняется в момент 
	запуска Windows PowerShell. Можно использовать профиль в качестве 
	скрипта, выполняемого при входе в систему, для настройки окружения. 
	Можно добавлять команды, псевдонимы, функции, значения, оснастки, 
	модули и диски Windows PowerShell. Также можно добавлять в профиль 
	другие специфичные для сеанса элементы, тогда они будут доступны 
	в каждом сеансе и не будет необходимости их импортировать или 
	создавать заново.

	Windows PowerShell поддерживает несколько профилей для 
	пользователей и ведущих программ. Однако PowerShell не создает профили. 
	В этом разделе описаны профили; также рассказано, как создавать 
	и обслуживать профили на компьютере.

	Здесь объясняется, как использовать параметр NoProfile консоли 
	Windows PowerShell (PowerShell.exe) для запуска Windows 
	PowerShell без профиля. Кроме того, описан результат действия 
	политики выполнения Windows PowerShell применительно к профилям.


 ФАЙЛЫ ПРОФИЛЕЙ

	Windows PowerShell поддерживает несколько файлов профилей. Кроме 
	того, ведущие приложения Windows PowerShell могут поддерживать 
	собственные профили, специфичные для приложения. 

	Например, консоль Windows PowerShell поддерживает следующие файлы 
	основного профиля. Ниже они указаны в порядке приоритета. Первый 
	профиль имеет наивысший приоритет. 


		Описание				 Путь
		-----------				----
		Текущий пользователь, $Home\[My ]Documents\WindowsPowerShell\Profile.ps1
		текущее ведущее приложение
		Текущий пользователь, $Home\[My ]Documents\Profile.ps1
		все ведущие приложения
		Все пользователи, 	$PsHome\Microsoft.PowerShell_profile.ps1
		текущее ведущее приложение
		Все пользователи, все	$PsHome\Profile.ps1
		ведущие приложения

	Пути к профилям могут включать следующие переменные:

		- Переменная $PsHome, в которой хранится путь к каталогу 
		установки Windows PowerShell.

		- Переменная $Home, в которой хранится путь к домашнему 
		каталогу текущего пользователя.


	Кроме того, другие ведущие приложения Windows PowerShell могут 
	поддерживать собственные профили. Например, интегрированная среда 
	скриптов (ISE) Windows PowerShell поддерживает следующие 
	специфичные для ведущего приложения профили.


		Описание				 Путь
		-----------				-----
		Текущий пользователь, $Home\[My ]Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
		текущее ведущее приложение 
		Все пользователи, 	$PsHome\Microsoft.PowerShellISE_profile.ps1
		текущее ведущее приложение


	В справке Windows PowerShell профиль "Текущий пользователь, 
	текущее ведущее приложение" наиболее часто называется "вашим 
	профилем Windows PowerShell". 

 ПЕРЕМЕННАЯ $PROFILE

	Автоматическая переменная $Profile хранит путь к профилям Windows 
	PowerShell, доступным в рамках текущего сеанса. 

	Для просмотра пути к профилю следует отобразить значение 
	переменной $Profile. Можно также использовать переменную $Profile 
	в команде в качестве пути.

	В переменной $Profile хранится путь к профилю "Текущий 
	пользователь, текущее ведущее приложение". Остальные профили 
	хранятся в свойствах-примечаниях переменной $profile.

	Например, переменная $Profile в консоли Windows PowerShell имеет 
	следующие значения.


		Name							 Описание			
		-----------						-----------
		$Profile						 Текущий пользователь, 
										 текущее ведущее приложение  
		$Profile.CurrentUserCurrentHost	Текущий пользователь, 
										 текущее ведущее приложение  
		$Profile.CurrentUserAllHosts	 Текущий пользователь, все 
										 ведущие приложения	 
		$Profile.AllUsersCurrentHost	 Все пользователи, текущее 
										 ведущее приложение
		$Profile.AllUsersAllHosts		Все пользователи, все 
										 ведущие приложения	 

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

	Чтобы просмотреть текущие значения переменной $Profile, введите 
	следующее:

		$profile | get-member -type noteproperty


	Переменную $Profile можно использовать во множестве команд. 
	Например, следующая команда открывает профиль "Текущий 
	пользователь, текущее ведущее приложение" в приложении Блокнот:

		notepad $profile 


	Следующая команда определяет, был ли на локальном компьютере 
	создан профиль "Все пользователи, все ведущие приложения":

		test-path $profile.AllUsersAllHosts


 СОЗДАНИЕ ПРОФИЛЯ

	Для создания профиля Windows PowerShell используется следующий 
	формат команды:

		if (!(test-path <имя_профиля>)) 
		 {new-item -type file -path <имя_профиля> -force}


	Например, для создания профиля текущего пользователя в текущем 
	ведущем приложении Windows PowerShell используется следующая команда: 

		if (!(test-path $profile)) 
		 {new-item -type file -path $profile -force}


	В этой команде инструкция If предотвращает перезапись 
	существующего профиля. Замените значение заполнителя 
	<путь_к_профилю> путем к файлу профиля, который требуется создать.

	Примечание. Для создания профилей "Все пользователи" в Windows 
				Vista и более поздних версиях Windows необходимо запускать 
				Windows PowerShell командой "Запуск от имени администратора".


 РЕДАКТИРОВАНИЕ ПРОФИЛЯ

	Любой профиль Windows PowerShell можно открыть в текстовом 
	редакторе, например в программе Блокнот. 

	Чтобы открыть профиль текущего пользователя в текущем ведущем 
	приложении Windows PowerShell в программе Блокнот, необходимо 
	ввести команду:

		notepad $profile


	Чтобы открыть другие профили, необходимо указать имя профиля. 
	Например, чтобы открыть профиль для всех пользователей и всех 
	ведущих приложений, необходимо ввести команду:

		notepad $profile.AllUsersAllHosts


	Чтобы применить изменения, нужно сохранить файл профиля, а затем 
	перезапустить Windows PowerShell.  
 

 ВЫБОР ПРОФИЛЯ

	При использовании нескольких ведущих приложений поместите 
	элементы, используемые во всех ведущих приложениях, в профиль 
	$Profile.CurrentUserAllHosts (текущий пользователь, все ведущие 
	приложения). Поместите элементы, специфичные для ведущего приложения, 
	например команды, задающие фоновый цвет ведущего приложения, в профиль 
	для данного ведущего приложения.

	Администратору, настраивающему Windows PowerShell для многих 
	пользователей, нужно соблюдать следующие правила.

		-- Хранить общие элементы в профиле $profile.AllUsersAllHosts 
		 (все пользователи, все ведущие приложения).

		-- Хранить элементы, специфичные для ведущего приложения в 
		 профилях $profile.AllUsersCurrentHost (все пользователи, 
		 текущее ведущее приложение).

		-- Хранить элементы для определенных пользователей в 
		 профилях, специфичных для пользователя.

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


 ИСПОЛЬЗОВАНИЕ ПРОФИЛЕЙ

	Многие элементы, которые создаются в Windows PowerShell, и 
	большинство выполняемых пользователем команд действуют только в 
	пределах текущего сеанса. Когда сеанс завершается, элементы 
	уничтожаются.

	Команды и элементы, специфичные для сеанса, включают в себя 
	переменные, привилегированные переменные, псевдонимы, функции, 
	команды (за исключением Set-ExecutionPolicy) и оснастки Windows 
	PowerShell, добавляемые к сеансу.

	Для сохранения этих элементов и обеспечения их доступности в 
	будущих сеансах их нужно добавить в профиль Windows PowerShell. 

	Другое распространенное использование профилей - сохранение часто 
	используемых функций, псевдонимов и переменных. После сохранения 
	элементов в профиле их можно использовать во время любого сеанса, 
	к которому применен этот профиль, не создавая их заново. 


 С ЧЕГО НАЧАТЬ СОЗДАНИЕ ПРОФИЛЯ?

	Когда вы впервые открываете файл профиля, он пуст. Однако его 
	можно заполнить переменными, псевдонимами и командами, которыми 
	вы часто пользуетесь.

	Ниже приведено несколько советов, с чего начать.

	-- Добавьте команду, облегчающую открытие профиля. Это особенно 
	 полезно, если вы используете профиль, отличный от профиля 
	 "Текущий пользователь, текущее ведущее приложение". Например, 
	 добавьте следующую команду:
			 
		 function pro {notepad $profile.CurrentUserAllHosts}


	-- Добавьте функцию, открывающую справку Windows PowerShell в 
	 виде скомпилированного файла справки HTML (.chm). 

		 function Get-CHM
			{
			 (invoke-item $env:windir\help\mui\0409\WindowsPowerShellHelp.chm)
		}

	 
	 Эта функция открывает английскую версию файла .chm. Однако вы 
	 можете заменить код языка (0409) и открыть другую версию файла 
	 .chm.


	-- Добавьте функцию, перечисляющую псевдонимы какого-либо командлета.

		 function Get-CmdletAlias ($cmdletname)
		 {
			get-alias | Where {$_.definition -like "*$cmdletname*"} | ft Definition, Name -auto
		 }


	-- Добавьте команду Add-PsSnapin для добавления оснасток Windows PowerShell, 
	 которыми вы пользуетесь.

	-- Настройте консоль.

		 function Color-Console 
		 {
				$host.ui.rawui.backgroundcolor = "white"
				$host.ui.rawui.foregroundcolor = "black"
				$hosttime = (dir $pshome\powershell.exe).creationtime
				$Host.UI.RawUI.WindowTitle = "Windows PowerShell $hostversion ($hosttime)"
				clear-host
		 }
		 Color-console


	-- Добавьте настроенное приглашение командной строки Windows 
	 PowerShell, включающее имя компьютера и текущий путь. 

		 function prompt 
		 {
			$env:computername + "\" + (get-location) + "> "
		 }


	 Дополнительные сведения о приглашении командной строки Windows 
	 PowerShell см в разделе about_Prompts.


 ПАРАМЕТР NOPROFILE

	Для запуска Windows PowerShell без профиля используйте параметр 
	NoProfile программы PowerShell.exe, запускающей Windows PowerShell.

	Для начала откройте программу, которая может запустить Windows 
	PowerShell, например Cmd.exe или саму программу Windows 
	PowerShell. Также можно использовать диалоговое окно Run в Windows. 

	Введите следующую команду:

		powershell -noprofile

	Чтобы вывести полный список параметров программы PowerShell.exe, 
	введите следующую команду:

		powershell -?


 ПРОФИЛИ И ПОЛИТИКА ВЫПОЛНЕНИЯ

	Политика выполнения Windows PowerShell отчасти определяет, можно 
	ли выполнять скрипты и загружать файлы конфигурации, в том числе 
	профили. Политика выполнения по умолчанию - Restricted. Она 
	запрещает выполнение скриптов, в том числе профилей. При 
	использовании политики Restricted профиль не запускается и его 
	содержимое не применяется.

	Команда Set-ExecutionPolicy задает и изменяет политику выполнения. 
	Это одна из немногих команд, которая распространяется на все сеансы 
	Windows PowerShell, так как значение сохраняется в реестре. Нет 
	необходимости задавать значение при открытии консоли и не нужно 
	сохранять команду Set-ExecutionPolicy в вашем профиле.


 ПРОФИЛИ И УДАЛЕННЫЕ СЕАНСЫ   

	Профили Windows PowerShell не запускаются автоматически в 
	удаленных сеансах, поэтому команды, добавленные профилями, 
	отсутствуют в удаленном сеансе. Кроме того, автоматическая 
	переменная $profile не заполняется в удаленных сеансах.  

	Чтобы запустить профиль в сеансе, используйте командлет 
	Invoke-Command.

	Например, следующая команда запускает профиль CurrentUserCurrentHo
	st с локального компьютера в сеансе в $s. 

		invoke-command -session $s -filepath $profile

	Следующая команда запускает профиль CurrentUserCurrentHost с 
	удаленного компьютера в сеансе в $s. Так как переменная $profile 
	не заполнена, команда использует явный путь к профилю.

		invoke-command -session $s {invoke-expression 
		"$home\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

	После выполнения этой команды все команды, добавляемые профилем в 
	сеанс, доступны в $s.


СМ. ТАКЖЕ
	about_Automatic_Variables
	about_Functions
	about_Prompts
	about_Execution_Policies
	about_Signing
	about_Remote
	Set-ExecutionPolicy