我正在使用 nessus 检查我未管理的网络上 MS Windows 机器的漏洞状态,我已收到适当的域级凭据。它有效,但我得到的结果似乎表明,并非所有我访问的机器都已正确配置为允许使用所述凭据进行访问(它们可能不在正确的域中,它们可能根本不在域中,等等)。
因此,我正在寻找一种巧妙的方法来检查,对于给定的网络范围,MS Windows 机器是否允许我使用一组特定的域凭据进入。我需要的信息类型基本上是IP,allowed-or-not
。
在开始使用 python 或 nmap 脚本之前,我想知道是否有人可以分享他/她完成类似任务的经验——我将不胜感激任何指点,以避免重新发明轮子。
答案1
这可能就是您要找的。请记住,没有太多的错误检查。您只需修改前两行并将代码粘贴到 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