about_Modules

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