Собираете вошедшие в систему логины на удаленных компьютерах?
Это может быть сложным, который я хотел бы как-то решить. Компания, в которой я раньше работал, обанкротилась. И во время хаоса многие пользователи взяли компьютеры своей компании и ушли.
Теперь они не знают, что мы установили UAG на каждый компьютер. Автоматическое VPN-решение, которое связывается с контроллером домена и аутентифицируется через учетную запись компьютера в AD.
Итак, я хотел бы запустить какой-нибудь скрипт, который пытается связаться с каждым компьютером и собрать имя пользователя, вошедшего в систему на этом компьютере. Это дало бы мне простой способ определить, используется ли этот компьютер кем-то, кто не работает в компании, купившей банкротные ресурсы.
Я уже запустил dsquery, чтобы найти неактивные компьютеры за последние 8 недель. Сравнение этого списка со всем списком компьютеров дало мне довольно хорошее представление о компьютерах, которые используются в настоящее время. Как мне это сделать?
2 ответа
Предполагая, что у вас нет ограничений брандмауэра для удаленного компьютера, когда он подключен к VPN, вы можете использовать вызовы WMI для запроса вошедшего в систему пользователя:
@(Get-WmiObject -ComputerName remote-pc -Namespace root\cimv2 -Class Win32_ComputerSystem)[0].UserName;
Если вы хотите сделать это итеративно по списку машин, сделайте что-то вроде этого:
$MachineList = Get-Content -Path c:\ListOfMachines.txt; # One system name per line
foreach ($Machine in $MachineList) {
@(Get-WmiObject -ComputerName $Machine -Namespace root\cimv2 -Class Win32_ComputerSystem)[0].UserName;
}
Я хотел бы использовать пакетный скрипт, как этот:
FOR /F %%a IN (computers.txt) DO (
FOR /F "tokens=2 delims=\" %%b IN ('WMIC /node:"%%a" computersystem get username') DO (
ECHO The user who's logged on to computer %%a is: %%b
)
)
куда computers.txt
список с каждым именем компьютера в новой строке, например:
LAPTOP001
DESKTOP001
DESKTOP005
Вывод циклов будет примерно таким:
The user who's logged on to computer LAPTOP001 is: johndoe
The user who's logged on to computer DESKTOP001 is: janedoe
The user who's logged on to computer DESKTOP005 is: ericdoe-