Advertisement
pedronrivera

Get Remote Logged On Users with Dept.

Jan 12th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $CsvFile = "path\GetLoggedOnUsersv2.csv"
  2.  
  3. Get-ADComputer -Filter * -SearchBase "DC=lab,DC=corp" | ForEach-Object {
  4.     $ADComputer = $_
  5.     Write-Host "Processing $($ADComputer.Name) ..." -ForegroundColor White -NoNewline
  6.     Try {
  7.         $CS = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ADComputer.Name -ErrorAction Stop | Select-Object -Property `
  8.             @{n='Computername'; e={$ADComputer.Name}},
  9.             @{n='DNSHostName'; e={$ADComputer.DNSHostName}},
  10.             @{n='Department'; e={
  11.                 If ($_.Username) {
  12.                     Try {(Get-ADUser -Identity $_.Username.Split('\')[1] -Property Department -ErrorAction Stop).Department} Catch {"ERROR: $($_.Exception.Message)"}
  13.                 }
  14.             }},
  15.             Username,
  16.             Manufacturer,
  17.             Model
  18.         Write-Host " OK ($($CS.Manufacturer) $($CS.Model))." -ForegroundColor Green
  19.         $CS
  20.     } Catch {
  21.         Write-Host " ERROR: $($_.Exception.Message)" -ForegroundColor Red
  22.         $_.Exception.Message | Select-Object -Property @{n='Computername'; e={$ADComputer.Name}}, @{n='Error'; e={$_}}
  23.     }
  24. } | Select-Object Computername, DNSHostName, Department, Username, Manufacturer, Model, Error |
  25.     Export-Csv -Path $CsvFile -NoTypeInformation
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement