РАЗДЕЛ
	about_Modules

КРАТКОЕ ОПИСАНИЕ
	Описание процедур установки, импорта и использования модулей 
	Windows PowerShell

ПОЛНОЕ ОПИСАНИЕ
	Модуль - это пакет команд Windows PowerShell, таких как 
	командлеты, поставщики, функции, переменные и псевдонимы. 

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

	В этом разделе описывается, как использовать модули Windows 
	PowerShell. Сведения о процедуре создания модулей Windows 
	PowerShell см. в разделе "Создание модуля Windows PowerShell" в 
	библиотеке MSDN по адресу http://go.microsoft.com/fwlink/?LinkId=144916.


 ИСПОЛЬЗОВАНИЕ МОДУЛЯ
	Чтобы воспользоваться модулем, выполните следующие действия.

		1. Установите модуль. (Обычно это выполняется автоматически.) 
		2. Импортируйте модуль в сеанс Windows PowerShell.
		3. Найдите команды, добавленные модулем.
		4. Выполните эти команды.
	 
	В данном разделе описано, как выполнить эти задачи. В нем также 
	содержатся другие полезные сведения об управлении модулями.


 УСТАНОВКА МОДУЛЯ
	Если модуль предоставлен в виде папки с файлами, необходимо 
	установить его на компьютер, чтобы можно было импортировать его в 
	Windows PowerShell.

	Обычно модули устанавливаются автоматически. В Windows PowerShell 
	имеется несколько предустановленных модулей. В Windows Server 
	2008 R2 можно воспользоваться мастером добавления компонентов 
	(в диспетчере сервера), чтобы автоматически установить выбранные 
	компоненты. Многие модули поставляются с программой установки, 
	выполняющей установку модуля.

	Для установки модуля, предоставленного в виде папки, выполните 
	следующие действия.

		1. Создайте каталог "Modules" для текущего пользователя, если 
		он не существует. 

		 Для этого введите следующую команду:

			 new-item -type directory -path 
			 $home\Documents\WindowsPowerShell\Modules							 

		2. Полностью скопируйте папку модуля в каталог "Modules".

		 Скопировать папку можно любыми средствами, включая 
		 проводник, программу Cmd.exe и Windows PowerShell.

		 В Windows PowerShell для этого воспользуйтесь командлетом 
		 Copy-Item. Например, чтобы скопировать папку "MyModule" из 
		 каталога "C:\ps-test\MyModule" в каталог "Modules", 
		 введите следующую команду:

			 copy-item -path c:\ps-test\MyModule -dest 
			 $home\Documents\WindowsPowerShell\Modules

	Установить модуль можно в любое местоположение, однако если 
	всегда устанавливать их в местоположение модулей по умолчанию, 
	ими проще управлять. Дополнительные сведения о местоположении 
	модулей по умолчанию см. в разделе "Местоположения модулей и 
	переменная PSModulePath".



 ПОИСК УСТАНОВЛЕННЫХ МОДУЛЕЙ
	 Если модуль установлен, его можно импортировать в сеанс Windows 
	 PowerShell. 

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

		 get-module -listAvailable


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

		 get-module

	 Дополнительные сведения о командлете Get-Module см. в разделе 
	 Get-Module.



 ИМПОРТ МОДУЛЯ
	Чтобы выполнить команды, содержащиеся в модуле, импортируйте его 
	в сеанс Windows PowerShell.

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

		import-module <имя_модуля>

	Например, следующая команда импортирует модуль BitsTransfer в 
	текущий сеанс.

		import-module BitsTransfer

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

	Например, чтобы добавить в текущий сеанс модуль TestCmdlets, 
	расположенный в папке "C:\ps-test", введите следующую команду:

		import-module c:\ps-test\TestCmdlets

	Чтобы получить дополнительные сведения о добавлении модулей в 
	сеансы, см. Import-Module.



 ИМПОРТ ВСЕХ МОДУЛЕЙ В СЕАНС WINDOWS POWERSHELL. 
	В операционных системах Windows 7 и Windows Server 2008 R2 задача 
	"Импортировать все модули" открывает сеанс Windows PowerShell, 
	содержащий все доступные модули и оснастки Windows PowerShell.

	Чтобы запустить сеанс Windows PowerShell со всеми доступными 
	модулями и оснастками Windows PowerShell, выполните следующие 
	действия.

	-- Щелкните правой кнопкой мыши значок Windows PowerShell на 
	 панели задач и выберите "Импортировать все модули".

	Примечание. В Windows Server 2008 R2 значок Windows PowerShell по 
				умолчанию закреплен на панели задач. Впрочем, чтобы 
				появилась задача "Импортировать все модули", необходимо 
				один раз запустить Windows PowerShell.

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

		get-module -listAvailable | import-module


   
 ПОИСК КОМАНД В МОДУЛЕ
	После того как модуль импортирован в сеанс Windows PowerShell, 
	можно использовать содержащиеся в нем команды.

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

		get-command -module <имя_модуля>

	Например, чтобы найти команды, добавленные модулем BitsTransfer, 
	введите следующее:

		get-command -module BitsTransfer

	Дополнительные сведения о командлете Get-Command см. в разделе 
	Get-Command.



 ПОИСК СПРАВКИ ПО КОМАНДАМ В МОДУЛЕ
	Если модуль содержит разделы справки по командам, которые он 
	экспортирует, их можно вывести с помощью командлета Get-Help. 
	Используйте команду такого же формата, как и для любого раздела 
	справки Windows PowerShell. 

	Чтобы найти раздел справки по содержащимся в модуле командам, в 
	командной строке Windows PowerShell введите следующее:

		get-help <имя_команды> 

	Чтобы вывести более подробную справку, введите следующее:

		get-help <имя_команды> -detailed

	Например, чтобы найти подробную справку о командлете 
	Start-BitsTransfer, введите следующую команду:
	 
		get-help Start-BitsTransfer -detailed

	Дополнительные сведения о модуле Get-Help см. в разделе Get-Help.




 УДАЛЕНИЕ МОДУЛЯ
	Если удалить модуль, добавленные им команды удаляются из сеанса. 

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

		remove-module <имя_модуля>

	Например, следующая команда удаляет модуль BitsTransfer из 
	текущего сеанса.

		remove-module BitsTransfer

	Операция удаления модуля отменяет операцию его импорта. При этом 
	установка модуля не отменяется. Дополнительные сведения о 
	командлете Remove-Module см. в разделе Remove-Module.



 ИМПОРТ МОДУЛЯ В КАЖДОМ СЕАНСЕ
	Команда Import-Module импортирует модули в текущий сеанс Windows 
	PowerShell. Она затрагивает только текущий сеанс.

	Чтобы модуль импортировался в каждый новый сеанс Windows 
	PowerShell, добавьте команду Import-Module в профиль Windows 
	PowerShell.

	Дополнительные сведения о профилях см. в разделе about_Profiles.   

  
 МЕСТОПОЛОЖЕНИЯ МОДУЛЕЙ И ПЕРЕМЕННАЯ PSMODULEPATH
	Для модулей Windows PowerShell предусмотрено два местоположения 
	по умолчанию: одно для системы, другое для текущего пользователя.

		Для системы:  $pshome\Modules 
						(%windir%\System32\WindowsPowerShell\v1.0\Modules)

		Для текущего  $home\Documents\WindowsPowerShell\Modules 
		пользователя:   (%профиль_пользователя%\Documents\WindowsPowerShell\Modules)

					 - или:

					$home\My Documents\WindowsPowerShell\Modules 
						(%профиль_пользователя%\My Documents\WindowsPowerShell\Modules)



		Примечание. Чтобы добавить или изменить файлы в каталоге 
					%Windir%\System32 в операционных системах Windows 
					Vista, Windows Server 2008 и Windows более поздних 
					версий, запустите Windows PowerShell с параметром 
					"Запуск от имени администратора".


	Чтобы изменить местоположения модулей по умолчанию для системы, 
	измените значение переменной среды PSModulePath ($env:psmodulepath). 
	Переменная среды PSModulePath основана на переменной среды 
	Path и имеет тот же формат. 
 

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

		$env:psmodulepath

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

		$env:psmodulepath = $env:psmodulepath + ";<путь>"

	Точка с запятой (;) в этой команде отделяет новый путь от 
	предыдущего пути в списке.


	Например, чтобы добавить каталог "C:\ps-test\Modules", введите 
	следующую команду:

		$env:psmodulepath + ";c:\ps-test\Modules"


	После добавления пути в переменную PSModulePath команды 
	Get-Module и Import-Module действуют в том числе на модули в 
	каталоге, на который указывает этот путь.
	 
	Задаваемое значение влияет только на текущий сеанс. Чтобы 
	сохранить изменение, добавьте эту команду в профиль Windows 
	PowerShell или откройте диспетчер "Система" на панели управления 
	и измените значение переменной среды PSModulePath в реестре.

	Дополнительные сведения о переменной PSModulePath см. в разделе 
	about_Environment_Variables.
   


 МОДУЛИ И КОНФЛИКТЫ ИМЕН
	Конфликт имен происходит, когда в сеансе имеется несколько команд 
	с одинаковым именем. При импорте модуля возникает конфликт имен, 
	если содержащиеся в нем команды имеют такие же имена, как команды 
	или элементы, уже имеющиеся в сеансе. 

	Конфликты имен могут возникать в результате скрытия или замены команд.
		-- Скрытие. Скрытой называется команда, не выполняемая при 
		 вводе ее имени, но выполняемая другими способами 
		 (например, с указанием имени модуля или оснастки, из 
		 которой добавлена команда).

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


	Команда Import-Module может добавить команды, скрывающие или 
	заменяющие команды в текущем сеансе. Кроме того, команды в 
	текущем сеансе могут скрыть команды, добавленные модулем. 

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

	Команду Import-Module также можно использовать с параметрами 
	Alias, Cmdlet, Function и Variable, чтобы выбрать только те 
	команды, которые требуется импортировать, исключив команды, 
	вызывающие конфликт имен в сеансе.

	Даже если команда скрыта, можно выполнить ее, указав (помимо ее 
	имени) имя модуля или оснастки, из которой она добавлена. 

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

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

	Дополнительные сведения, включая пояснения правил приоритетов и 
	инструкции по запуску скрытых команд, см. в разделе 
	about_Command_Precedence.
	 
	 
	 
 МОДУЛИ И ОСНАСТКИ
	Команды из модулей и оснасток можно добавлять в сеанс. Из модулей 
	можно добавлять все типы команд, включая командлеты, поставщики и 
	функции, а также элементы, такие как переменные, псевдонимы и 
	диски Windows PowerShell. Из оснасток можно добавлять только 
	командлеты и поставщики.

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

	Прежде чем удалить модуль или оснастку из сеанса, с помощью 
	следующих команд определите, какие команды будут при этом удалены. 

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

		get-command <имя_командлета> | format-list -property verb, 
		noun, pssnapin, module

	Например, для поиска источника командлета Get-Date введите 
	следующую команду:

		get-command get-date | format-list -property verb, noun, 
		pssnapin, module 
	Дополнительные сведения об оснастках Windows PowerShell см в 
	разделе about_PSSnapins.


CМ. ТАКЖЕ
	about_Command_Precedence
	about_PSSnapins
	Get-Command
	Get-Help
	Get-Module
	Import-Module
	Remove-Module