sábado, maio 21, 2016

PowerShell - Importar Sessão

Estou lendo um livro sobre PowerShell, "Learn Windows PowerShell in a Month of Lunches ", recomendo o livro, vou deixar uma dica que achei bem interessante, normalmente quando precisamos executar um comando em um computador remoto utilizamos o comando enter-pssession, ou dependendo do comando podemos usar o parâmetro -computername de qualquer forma vamos imaginar o seguinte cenário, você deseja obter a lista de usuários do Active Directory, e você está impossibilitado de instalar as ferramentas de administração remota do Active Directory (RSAT-AD-PowerShell) e também não quer usar a comando enter-pssession, é possível importar o módulo do AD-Powershell para a sua máquina, mas a algumas limitações, quando a conexão for fechado será necessário repetir os passos, porque na verdade o comando não é executado na máquina local é executado na máquina remota, vamos lá!

Criando uma nova sessão e armazenando na variavel $teste
> $teste = New-PSSession -ComputerName contos-ad

Importando o módulo remoto
> Invoke-Command -ScriptBlock { Import-Module activedirectory } -Session $teste

Importando os comandos para a máquina local
> Import-PSSession -Session $teste -Module activedirectory -Prefix maykon

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Script     tmp_50c9271b-d963-42c5... {Get-ADFineGrainedPasswordPolicy, Set-ADGroup, Get-ADResourcePropertyVal...

Agora é possível obter as informações como os usuários com o comando abaixo, é necessário especificar o prefixo, que neste exemplo é maykon

> Get-maykonADuser

Nenhum comentário: