Sempre que faço alguma coisa em um Active Directory acabo usando comandos do PowerShell. Isso facilita muito a vida, principalmente quando preciso salvar os resultados e/ou comparar com alguma coisa.
Alguns comandos úteis que acabo usando:
Para Listar todos os computadores do Active Directory:
Get-ADComputer -Filter * | Select-Object -Property Name
Como algumas empresas usam algum padrão para nomes, podemos usar parte de nomes. Por exemplo, para encontrar todos os computadores que o nome começa por ESTRH:
Get-ADComputer -Filter ‘Name -like “ESTRH*”‘ | Select-Object -Property Name
Para listar os computadores pela ordem alfabética:
Get-ADComputer -Filter * | Select-Object -Property Name | Sort-Object -Property Name
Para listar os Computadores com Windows e seus Sistemas Operacionais, mostrando o resultado pela ordem dos nomes:
Get-ADComputer -Filter ‘OperatingSystem -like “*Windows*”‘ -Properties Name,Operatingsystem | Select-Object -Property Name,Operatingsystem | Sort-Object
-Property Name
Para listar os Computadores com Windows, o SO, versão do SO e se sem algum Service Pack, além do resultado ordenado pelo nome usamos:
Get-ADComputer -Filter ‘OperatingSystem -like “*Windows*”‘ -Properties Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack
| Select-Object -Property Name, Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack | Sort-Object -Property Name
Para listar os Computadores criados na última semana, pela ordem de criação, usamos:
$date = [DateTime]::Today.AddDays(-7); Get-ADComputer -Filter ‘whenCreated -ge $date’ -Properties whenCreated, Name, Operatingsystem | Select-Object -Property Name, Operatingsystem, whenCreated | Sort-Object -Property whenCreated
Para alterar a data mude os dias no comando da variável $date.
Outro comando útil é ver quais computadores não logam no AD há algum tempo. Neste caso vamos usar 60 dias:
$date = [DateTime]::Today.AddDays(-60); Get-ADComputer -Filter ‘LastLogonDate -ge date’-Properties LastLogonDate, Name, Operatingsystem | Select-Object -Property Name, Operatingsystem, LastLogonDate | Sort-Object -Property LastLogonDate
Novamente, para alterar a data mude os dias no comando da variável $date.
Para listar todos os computadores que estão desabilitados e suas OUs, pode-se usar:
Get-ADComputer -Filter {(Enabled -eq $False)} | ft Name, DistinguishedName
Para desabilitar os computadores que não logam no AD há mais de 60 dias:
$date = [DateTime]::Today.AddDays(-60); Get-ADComputer -Filter ‘LastLogonDate -ge date’-Properties LastLogonDate, Name, DistinguishedName | Select-Object -Property DistinguishedName | Disable-ADAccount
Espero que algum desses comandos possa ser útil!!
Até a próxima!