Я проверяю с помощью nessus состояние уязвимости компьютеров MS Windows в сети, которой я не управляю, для которой я получил соответствующие учетные данные на уровне домена. Это работает, но результаты, которые я получаю, похоже, говорят о том, что не все машины, к которым я обращаюсь, правильно настроены для разрешения доступа с указанными учетными данными (они могут быть не в правильном домене, они могут вообще не находиться в домене и т. Д.)
Поэтому я ищу умный способ проверить для заданного диапазона сети, позволяют ли машины MS Windows войти с определенным набором учетных данных домена. В основном мне нужна информация IP,allowed-or-not
.
Перед тем, как перейти к написанию сценариев Python или nmap, мне было интересно, может ли кто-нибудь поделиться своим опытом с аналогичной задачей - я был бы признателен за любые указатели, чтобы не изобретать колесо заново.
Возможно, это то, что вы ищете. Имейте в виду, что проверки ошибок не так много. Вам просто нужно изменить первые две строки и вставить код в окно PowerShell.
$inputfile = 'c:\path\to\ips.txt'
$outputfile = 'c:\path\to\status.txt'
$ips = Get-Content $inputfile
$cred = Get-Credential
$ips | ForEach-Object {
try
{
[void](Get-WmiObject -Credential $cred -ComputerName $_ -Query 'select CSName from win32_operatingsystem')
$status = 'success'
}
catch
{
$status = 'failure'
}
$op = '' | select IP,Status
$op.ip = $_
$op.status = $status
$op
} | Export-Csv -Path $outputfile -NoTypeInformation