TÓPICO
    about_Modules

DESCRIÇÃO RESUMIDA
    Explica como instalar, importar e usar módulos do Windows PowerShell.

DESCRIÇÃO LONGA
    Um módulo é um pacote que contém comandos do Windows PowerShell, 
    como cmdlets, provedores, funções, variáveis e aliases. 

    As pessoas que escrevem comandos podem usar módulos para organizar os 
    comandos e compartilhá-los com outros. As pessoas que recebem módulos 
podem adicionar os comandos nos módulos às sessões do Windows 
PowerShell e usá-los como os comandos internos.

    Este tópico explica como usar os módulos do Windows PowerShell. 
    Para obter informações sobre como escrever módulos do Windows 
    PowerShell, consulte " Writing a Windows PowerShell Module" na 
    biblioteca do MSDN (Microsoft Developer Network) em 
    https://go.microsoft.com/fwlink/?LinkId=144916 (site em inglês).
    

 COMO USAR UM MÓDULO
    Para usar um módulo, execute as tarefas a seguir:

        1. Instale o módulo. (Isso normalmente é feito para você.) 2. 
        Importe o módulo para a sua sessão do Windows PowerShell.
        3. Localize os comandos que o módulo adicionou.
        4. Use os comandos que o módulo adicionou.
     
    Este tópico explica como executar essas tarefas. Ela também 
    inclui outras informações úteis sobre como gerenciar módulos.


 COMO INSTALAR UM MÓDULO
    Se você receber um módulo como uma pasta com arquivos, precisará 
    instalá-lo em seu computador antes de importá-lo para o Windows 
    PowerShell.

    A maioria dos módulos é instalado para você. O Windows PowerShell 
    é fornecido com vários módulos pré-instalados. No Windows Server 
    2008 R2, o Assistente para Adicionar Recursos no Gerenciador de 
    Servidor instala automaticamente os módulos de recurso que você 
    seleciona. Muitos outros módulos são fornecidos com um instalador 
    ou programa de instalação que instala o módulo.

    Para instalar uma pasta de módulo:

        1. Crie um diretório Modules para o usuário atual, se ainda 
           não houver um. 

           Para criar um diretório Modules, digite:

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

        2. Copie a pasta de módulo inteira no diretório Modules.

           Você pode usar qualquer método para copiar a pasta, inclusive o 
           Windows Explorer e Cmd.exe, bem como o Windows PowerShell.

           No Windows PowerShell, use o cmdlet Copy-Item. Por 
           exemplo, para copiar a pasta MyModule de C:\ps-test\MyModul
           e para o diretório Modules, digite:

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

    Você pode instalar um módulo em qualquer local, mas fica mais 
    fácil gerenciar os módulos se os instalar em um local de módulo 
    padrão. Para obter mais informações sobre os locais de módulo padrão, 
    consulte a seção "Locais de módulo e PSModulePath".



 COMO LOCALIZAR OS MÓDULOS INSTALADOS
      Quando um módulo é instalado, você pode importá-lo para a sua 
      sessão do Windows PowerShell. 

      Para localizar módulos que são instalados em um local de módulo 
      padrão, no prompt do Windows PowerShell, digite:

         get-module -listAvailable


      Para localizar os módulos que já foram importados para sua 
      sessão, no prompt do Windows PowerShell, digite:

         get-module

      Para obter mais informações sobre o cmdlet Get-Module, consulte 
      Get-Module.
      


 COMO IMPORTAR UM MÓDULO
    Para usar os comandos em um módulo, importe o módulo para uma 
    sessão do Windows PowerShell.

    Para importar módulos de um local de módulo padrão para a sessão 
    atual, use o formato de comando a seguir.

        import-module <module-name>
    
    Por exemplo, o comando a seguir importa o módulo BitsTransfer 
    para a sessão atual.

        import-module BitsTransfer

       
 
    Para importar um módulo que não está em um local de módulo 
    padrão, use o caminho totalmente qualificado para a pasta do módulo no 
    comando. 

    Por exemplo, para adicionar o módulo TestCmdlets no diretório 
    C:\ps-test a sua sessão, digite:

        import-module c:\ps-test\TestCmdlets

    Para obter mais informações sobre como adicionar módulos à 
    sessão, consulte Import-Module.
    


 COMO IMPORTAR TODOS OS MÓDULOS PARA SUA SESSÃO DO WINDOWS POWERSHELL 
    No Windows 7 e no Windows Server 2008 R2, a tarefa "Importar todos 
    os módulos" abre uma sessão do Windows PowerShell que inclui todos 
    os módulos e snap-ins disponíveis do Windows PowerShell.

    Para iniciar uma sessão do Windows PowerShell com todos os 
    módulos e snap-ins disponíveis do Windows PowerShell, use o 
    procedimento a seguir.

    -- Clique com o botão direito do mouse no ícone Windows 
       PowerShell na barra de tarefas e, em seguida, clique em 
       "Importar todos os módulos".

    Observação: No Windows Server 2008 R2, o ícone Windows PowerShell 
                é fixo por padrão à barra de tarefas. Contudo, você deve 
                iniciar o Windows PowerShell uma vez para que a tarefa 
                "Importar todos os módulos" seja exibida.

    Em outras versões do Windows, para todos os módulos disponíveis para 
    importação em sua sessão, no prompt do Windows PowerShell, digite:

        get-module -listAvailable | import-module


   
 COMO LOCALIZAR OS COMANDOS EM UM MÓDULO
    Depois de importar um módulo para a sua sessão do Windows 
    PowerShell, você pode usar os comandos no módulo.

    Para localizar os comandos adicionados por um módulo, no prompt 
    do Windows PowerShell, digite:

        get-command -module <module-name>

    Por exemplo, para localizar os comandos que o módulo BitsTransfer 
    adiciona, digite:

        get-command -module BitsTransfer

    Para obter mais informações sobre o cmdlet Get-Command, consulte 
    Get-Command.



 COMO LOCALIZAR A AJUDA PARA OS COMANDOS EM UM MÓDULO
    Se o módulo contiver tópicos de Ajuda para os comandos que ele 
    exporta, o cmdlet Get-Help exibirá os tópicos de Ajuda. Use o 
    mesmo formato de comando que você usaria para qualquer tópico de 
    Ajuda no Windows PowerShell. 

    Para localizar os tópicos de Ajuda para os comandos em um módulo, 
    no prompt do Windows PowerShell, digite:

        get-help <command-name> 

    Para obter Ajuda mais detalhada, digite:

        get-help <command-name> -detailed

    Por exemplo, para localizar a Ajuda detalhada para o cmdlet Start-
    BitsTransfer, digite:
       
        get-help Start-BitsTransfer -detailed

    Para obter mais informações sobre o módulo Get-Help, consulte 
    Get-Help.




 COMO REMOVER UM MÓDULO
    Quando você remove um módulo, os comandos que o módulo adicionou são 
    excluídos da sessão. 

    Para remover um módulo de sua sessão, use o formato de comando a 
    seguir.

        remove-module <module-name>

    Por exemplo, o comando a seguir remove o módulo BitsTransfer da 
    sessão atual.

        remove-module BitsTransfer

    A remoção de um módulo inverte a operação de importação de um 
    módulo. A remoção de um módulo não o desinstala. Para obter mais 
    informações sobre o cmdlet Remove-Module, consulte Remove-Module.



 COMO IMPORTAR UM MÓDULO PARA CADA SESSÃO
    O comando Import-Module importa módulos para a sessão atual do Windows 
    PowerShell. Esse comando afeta somente a sessão atual.

    Para importar um módulo para cada sessão do Windows PowerShell 
    que você inicia, adicione um comando Import-Module a seu perfil 
    do Windows PowerShell.

    Para obter mais informações sobre perfis, consulte about_Pprofiles.   

  
 LOCAIS DE MÓDULO E PSMODULEPATH
    Há dois locais padrão para módulos do Windows PowerShell, um para 
    o sistema e um para o usuário atual.

        Sistema:        $pshome\Modules 
                           (%windir%\System32\WindowsPowerShell\v1.0\Modules)

        Usuário atual: $home\Documents\WindowsPowerShell\Modules 
        		   (%UserProfile%\Documents\WindowsPowerShell\Modules)

                       - ou -

                       $home\My Documents\WindowsPowerShell\Modules 
                           (%UserProfile%\My Documents\WindowsPowerShell\Modules)



        Observação: No Windows Vista, Windows Server 2008 e versões 
                    posteriores de Windows, para adicionar ou alterar 
                    arquivos no diretório %Windir%\System32, inicie o 
                    Windows PowerShell com a opção "Executar como 
                    administrador".


     Você pode alterar os locais de módulo padrão em seu sistema 
     alterando o valor da variável de ambiente de PSModulePath 
     ($env:psmodulepath). A variável de ambiente PSModulePath é 
     modelada na variável de ambiente Path e tem o mesmo formato. 
 

    Para exibir os locais de módulo padrão, digite:

        $env:psmodulepath

    Para adicionar um local de módulo padrão, use o formato de 
    comando a seguir.

        $env:psmodulepath = $env:psmodulepath + ";<path>"

    O ponto-e-vírgula (;) no comando separa o novo caminho do caminho 
    que o precede na lista.


    Por exemplo, para adicionar o diretório "C:\ps-test\Modules", digite:

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


    Quando você adiciona um caminho a PSModulePath, os comandos 
    Get-Module e Import-Module incluem módulos naquele caminho.
       
    O valor definido afeta apenas a sessão atual. Para tornar a alteração 
    persistente, adicione o comando a seu perfil do Windows PowerShell ou 
    use o item Sistema no Painel de Controle para alterar o valor da variável de 
    ambiente PSModulePath no Registro.

    Para obter mais informações sobre a variável PSModulePath, consulte 
    about_Environment_Variables.
   


 MÓDULOS E CONFLITOS DE NOMES
    Os conflitos de nomes ocorrem quando mais de um comando na sessão 
    tem o mesmo nome. A importação de um módulo causa um conflito de 
    nome quando os comandos no módulo têm os mesmos nomes que os 
    comandos ou itens na sessão. 

    Os conflitos de nome podem resultar em comandos que ficam ocultos 
    ou são substituídos.
        -- Oculto. Um comando fica oculto quando ele não é executado 
           quando você digita o nome de comando, mas você pode 
           executá-lo usando outro método, como a qualificação do 
           nome de comando com o nome do módulo ou snap-in no qual ele se 
           originou.

        -- Substituído. Um comando é substituído quando você não pode 
           executá-lo porque ele foi substituído por um comando com o 
           mesmo nome. Até mesmo quando você remover o módulo que causou o 
           conflito, você não pode executar um comando substituído a menos que 
           reinicie a sessão.


    Import-Module pode adicionar comandos que ocultam e substituem 
    comandos na sessão atual. Além disso, os comandos na sua sessão 
    podem ocultar comandos que o módulo adicionou. 

    Para impedir conflitos de nome, use o parâmetro Prefix de 
    Import-Command para criar nomes exclusivos para os comandos 
    importados.

    Você também pode usar os parâmetros Alias, Cmdlet, Function e 
    Variable de Import-Module para selecionar somente os comandos que 
    você deseja importar, e pode excluir comandos que causam conflitos de 
    nome na sua sessão.

    Mesmo que um comando esteja oculto, você pode executá-lo por meio da 
    qualificação do nome de comando com o nome do módulo ou snap-in no 
    qual ele se originou. 
    As regras de precedência de comando do Windows PowerShell 
    determinam quais comandos são executados quando a sessão inclui 
    comandos com o mesmo nome.

    Por exemplo, quando uma sessão inclui uma função e um cmdlet com 
    o mesmo nome, o Windows PowerShell executa a função por padrão. 
    Quando a sessão inclui comandos do mesmo tipo com o mesmo nome, 
    como dois cmdlets com o mesmo nome, por padrão, ele executa o comando 
    mais recente adicionado. 

    Para obter mais informações, inclusive uma explicação das regras de 
    precedência e instruções para executar comandos ocultos, consulte 
    about_Command_Precedence.
     
     
       
 MÓDULOS E SNAP-INS
    Você pode adicionar comandos a sua sessão de módulos e snap-ins. 
    Os módulos podem adicionar todos os tipos de comandos, inclusive 
    cmdlets, provedores, funções e itens, como variáveis, aliases e 
    unidades do Windows PowerShell. Os snap-ins podem adicionar 
    somente cmdlets e provedores.

    Na verdade, embora você possa adicionar funções, aliases, variáveis e 
    unidades a sua sessão digitando-os ou executando um script que os 
    adiciona, todos os cmdlets e provedores na sua sessão vêm de um 
    módulo ou um snap-in.

    Antes de remover um módulo ou snap-in de sua sessão, use os 
    comandos a seguir para determinar quais comandos serão removidos. 

    Para localizar a origem de um cmdlet na sua sessão, use o formato 
    de comando a seguir:

        get-command <cmdlet-name> | format-list -property verb, noun, pssnapin, module

    Por exemplo, para localizar a origem do cmdlet Get-Date, digite:

        get-command get-date | format-list -property verb, noun, pssnapin, module 

    Para obter mais informações sobre os snap-ins do Windows PowerShell, 
    consulte about_PSSnapins.


CONSULTE TAMBÉM
    about_Command_Precedence
    about_PSSnapins
    Get-Command
    Get-Help
    Get-Module
    Import-Module
    Remove-Module





Sumário