我正在努力制作PowerShell脚本,无法在线找到完整的解决方案。
基本上,脚本需要具有多种功能:
请在这里找到我cr脚的开始,输出30,60,90天,但仅来自一个OU。 PowerShell Inactive Computers
答案 0 :(得分:0)
由于获得了所需的结果,因此只需要进行迭代即可。
要从AD获取所有OU的所有列表,可以使用以下命令。
$OUs=Get-ADOrganizationalUnit -Filter * | Select-Object -ExpandProperty DistinguishedName
要排除其中包含“笔记本电脑”一词的任何OU,可以使用以下代码段。
$OUsWithoutLaptop=$OUs | where {$_ -notlike '*Laptop* '}
然后,您可以像下面的示例中那样使用迭代。
foreach ($item in $OUsWithoutLaptop)
{
$time = (Get-Date).Adddays(-60)
Get-ADComputer -SearchBase $item -Filter {LastLogon -lt $time -and enabled -eq $true} -Properties LastLogon, description| ? {$_.distinguishedname -notlike '*OU=SydLaptops,OU=SydComputers,OU=Sydney,DC=domain,DC=domain,DC=domain'} |
select-object Name,DistinguishedName, description, enabled,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.LastLogon)}} | export-csv $logfile60 -notypeinformation
}