$app = "PS - UserCatch" $ver = "v 0.4" $start = "Stai eseguendo:" $exec = "Lo script $app e' in esecuzione." Write-Host $start, $app, $ver Write-Host $exec -fore green $UserCatch = (1..254) | % { $Ip = "172.16.94.$_"; $Status = test-connection -computername "$ip" -quiet -count 1; $StatusOut = switch ($Status) { 'True' {"True"} 'False' {"`0"} } if ($Status -like 'True') { $GetHostname = Resolve-DnsName $ip -ErrorAction Ignore | select -exp NameHost; $QueryUser = if ($GetHostname -like 'PC*') { foreach ($s in $GetHostname){ foreach($ServerLine in @(query user /server:$s) -split"\n") { $Parsed_Server = $ServerLine -split"\s+" $Parsed_Server[1] } } } $QueryState = if ($GetHostname -like 'PC*') { foreach ($s in $GetHostname){ foreach($ServerLine in @(query user /server:$s) -split"\n") { $Parsed_Server = $ServerLine -split"\s+" $Parsed_Server[4] } } } $QueryLogon = if ($GetHostname -like 'PC*') { foreach ($s in $GetHostname){ foreach($ServerLine in @(query user /server:$s) -split"\n") { $Parsed_Server = $ServerLine -split"\s+" $Parsed_Server[6] } } } Write-output "`n$IP`t$GetHostname" if ($GetHostname -like 'PC*') { Write-Output "`n`n$QueryUser" Write-Output "`n$QueryState" Write-Output "`n$QueryLogon`n" } } else { "`0" } } Write-Host $UserCatch