以下是可以使用的PowerShell脚本示例,可编译包含所有计算机和最后登录用户的CSV文件:
# 获取所有计算机的列表
$computers = Get-ADComputer -Filter *
# 创建空的CSV文件
$result = @()
# 循环遍历所有计算机并获取最后登录的用户
foreach($computer in $computers) {
# 尝试远程连接到计算机
$session = New-PSSession -ComputerName $computer.Name -ErrorAction SilentlyContinue
if($session) {
# 获取最后登录的用户
$lastUser = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $computer.Name | Select-Object UserName | ForEach-Object { $_.UserName }
# 添加计算机和用户到数组中
$result += [pscustomobject]@{"Computer Name"=$computer.Name;"Last Logged On User"=$lastUser}
# 关闭远程会话
Remove-PSSession $session
}
}
# 导出结果到CSV文件
$result | Export-Csv -Path "C:\AllComputersAndUsers.csv" -NoTypeInformation
该脚本使用了PowerShell的Active Directory模块来获取所有计算机的列表,然后使用WMI来获取每个计算机的最后登录用户。最后,将结果存储在一个数组中,并将其导出到CSV文件中。