Como definir um controlador de domínio padrão para todos os cmdlets do PowerShell AD?

6

Todos os cmdlets do PowerShell no módulo ActiveDirectory são executados em um controlador de domínio específico usando o parâmetro -server ; mas existe alguma maneira de definir um controlador de domínio padrão para usar em todas as operações relacionadas ao AD ou preciso especificá-lo em cada comando se realmente me importar com qual DC estou usando (como é frequente quando a latência de replicação está envolvida) )?

    
por Massimo 31.07.2013 / 11:30

1 resposta

5

Se você estiver no PowerShell versão 3, poderá usar a nova variável automática $ PSDefaultParameterValues para definir um padrão para o parâmetro Server nos cmdlets do Módulo do AD. Você pode correr

Get-Help about_Parameters_Default_Values

para mais detalhes sobre essa variável.

No seu caso específico, você pode definir a variável da seguinte forma:

$PSDefaultParameterValues = @{"*-AD*:Server"='YOUR-CHOSEN-DC'}

Outra opção que funcionaria com a versão 2 ou 3, é usar o provedor do Módulo AD para criar um novo PSDrive.

Por padrão, quando você importa o Módulo AD, ele cria um PSDrive "AD:" que se conecta ao domínio local. Você pode criar novos PSDrives usando esse mesmo provedor, especificando o controlador de domínio específico ao qual deseja se conectar. Em seguida, quando você executar cmdlets do AD a partir do contexto desse PSDrive, eles usarão essa conexão. Você pode criar um novo PSDrive assim:

New-PSDrive -Name <name of the drive> -PSProvider ActiveDirectory -Root "<DN of the partition/NC>" –Server <server or domain name (NetBIOS/FQDN)[:port number]> -Credential <domain name>\<username>

Em seguida, apenas cd <name of drive>: e quando você executar seus cmdlets, eles usarão o controlador de domínio que você especificou no cmdlet New-PSDrive.

    
por 05.08.2013 / 21:07