Posso executar comandos do AD a partir de um script padrão do PowerShell?

1

Estou montando um script para executar o post-sysprep.

Ele deve verificar se a máquina está na rede e, se estiver, deve consultar o AD para ver se existe uma conta de computador com sua etiqueta de serviço (estamos usando esses como os nomes de host das máquinas.)

Se existir, deverá eliminar a conta e voltar a juntar a máquina ao domínio.

Tenho a maioria do script em execução, mas preciso executar o seguinte:

Remove-ADComputer -Identity $distinguishedName

Como posso executar isso a partir do ambiente de powershell "padrão"? Eu não quero usar o módulo AD.

(A propósito - eu estou em um domínio de modo misto 2000/03 como estamos no processo de atualização para 2008)

Sou novo no PowerShell por isso seja gentil se eu estiver completamente ausente do ponto!

Obrigado,

Ben

    
por Ben 28.05.2010 / 23:53

3 respostas

3

O DSRM também funcionará bem.

No entanto, se você quiser ficar 100% do PowerShell, é possível usar o provedor ADSI para fazer isso nativamente no PowerShell sem módulos.

 $computer = "computername"
 $dom = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()            
 $root = $dom.GetDirectoryEntry()            
 $search = [System.DirectoryServices.DirectorySearcher]$root            
 $search.filter = "(&(objectclass=computer)(name=$computer))"            
 $search.findall() | foreach-object{$_.GetDirectoryEntry() } | foreach-object{$_.DeleteObject(0)} 
    
por 29.05.2010 / 17:00
1

Se você deseja executar um comando a partir do módulo AD (como Remove-ADComputer), precisará importar esse módulo.

Você pode tentar usar o utilitário dsrm.exe para remover o objeto. Consulte o link para detalhes de uso no dsrm.exe.

Obrigado Mark

    
por 29.05.2010 / 00:34
0
Sim, por que complicar as coisas é só usar o dsrm, lembre-se que o ps é um cli completo em que você não precisa fazer nada para fazer o dsrm funcionar.

dentro do PowerShell, seria assim

ps > dsrm $ distinguishedName

    
por 29.05.2010 / 06:42