368d6fafea
Code backup
69 lines
1.9 KiB
PowerShell
69 lines
1.9 KiB
PowerShell
$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 |