一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - PowerShell - PowerShell腳本實現檢測網絡內主機類型

PowerShell腳本實現檢測網絡內主機類型

2020-06-29 10:3351CTO PowerShell

這篇文章主要介紹了PowerShell腳本實現檢測網絡內主機類型,本文腳本基本功能可以實現判斷主機操作系統類型,如果是域內的主機可以獲取主機的硬件參數和性能參數,并判斷是否存在網絡設備,需要的朋友可以參考下

最近一直在寫一個自動檢測網絡內主機類型的腳本。基本功能可以實現判斷主機操作系統類型,如果是域內的主機可以獲取主機的硬件參數和性能參數,并判斷是否存在網絡設備。對一個運維人員來說往往需要盡快熟悉一個陌生的網絡。所以這個腳本就很方便了,如果有更好的建議歡迎指正感謝!

復制代碼 代碼如下:

############################################
#Author:Lixiaosong
#Email:[email protected]
#For:檢測/24掩碼網絡內主機系統類型并獲取windows主機參數
#Version:1.0
##############################################
Param(
[Parameter(Mandatory=$true)]$Network
)
$Ip=for($i= 1; $i-ile255; $i+= 1){"$Network.$i"}
foreach($Ipaddressin$IP){
#檢測相關端口狀態
$Port3389=3389 | %{ echo ((new-objectNet.Sockets.TcpClient).Connect("$Ipaddress",$_)) "$true"} 2>$null
$Port22=22 | %{ echo ((new-objectNet.Sockets.TcpClient).Connect("$Ipaddress",$_)) "$true"} 2>$null
$Port23=23 | %{ echo ((new-objectNet.Sockets.TcpClient).Connect("$Ipaddress",$_)) "$true"} 2>$null
$Pingtest=Test-connection-ComputerName$IPaddress-quiet
if($Port3389-like"$true"){
#服務器信息
$HostSN=(GWMI-ComputerName"$Ipaddress"win32_bios).SerialNUmber
$HostFirm=(GWMI-ComputerName"$Ipaddress"win32_bios).Manufacturer
$HostModel=(GWMI-ComputerName"$Ipaddress"Win32_ComputerSystem).Model
#主機信息
$HostName=(GWMI-ComputerName"$Ipaddress"Win32_ComputerSystem).DNSHostName
$DomainName=(GWMI-ComputerName"$Ipaddress"Win32_ComputerSystem).Domain
#服務器硬件資源信息
$Freemem=(GWMI-ComputerName"$Ipaddress"win32_OperatingSystem).FreePhysicalMemory#空余物理內存
$Totalmem=(GWMI-ComputerName"$Ipaddress"win32_OperatingSystem).TotalVisibleMemorySize#總物理內存
$cpu=((get-counter-ComputerName"$IPaddress"-counter"\processor(_total)\% processor time").CounterSamples|where{$_.InstanceName -eq"_total"}).CookedValue
$DiskRead=" {0:0.0} KB"-f($(((get-counter-ComputerName"$Ipaddress"-counter"\LogicalDisk(_total)\Disk Read Bytes/sec").CounterSamples|where{$_.InstanceName -eq"_total"}).CookedValue) / 1KB)
$DiskWrite="{0:0.0} KB"-f($(((get-counter-ComputerName"$Ipaddress"-counter"\LogicalDisk(_total)\Disk Write Bytes/sec").CounterSamples|where{$_.InstanceName -eq"_total"}).CookedValue) /1KB)
$NetworkSent=" {0:0.0} KB"-f($((Get-Counter-ComputerName"$Ipaddress"-Counter"\Network Interface(*)\Bytes Sent/sec").CounterSamples|%{$_.CookedValue}|sort|select-last1) / 1KB)
$NetworkReceive=" {0:0.0} KB"-f($((Get-Counter-ComputerName"$IPaddress"-Counter"\Network Interface(*)\Bytes Received/sec").CounterSamples|%{$_.CookedValue}|sort|select-last1) / 1KB)
$Havecpu= "{0:0.0} %"-f$cpu
$Permem="{0:0.0} %"-f((($Totalmem-$Freemem)/$Totalmem)*100)
$Disks= GWMI-ComputerName"$IPaddress"win32_logicaldisk|?{$_.drivetype -eq3}
#獲取域內Windows主機參數
Write-host"
=================================================================================================================
時間:$(get-date) WINDOWS服務器:$HostName.$DomainName IP:$($IPaddress.Padleft(2)) 品牌:$($HostFirm.Padleft(2)) 型號:$($HostModel.Padleft(2)) 序列號:$($HostSN.Padleft(2))
CPU使用率:$($Havecpu.Padleft(8)) 內存使用率:$($Permem.Padleft(13))
磁盤讀/秒:$($DiskRead.Padleft(8)) 磁盤寫/秒:$($DiskWrite.Padleft(13))
網絡發送/秒:$($NetworkSent.Padleft(8)) 網絡接收/秒:$($NetworkReceive.Padleft(13))
盤符   盤總空間  空閑空間  使用空間  使用百分比"-ForegroundColorGreen
foreach($Diskin$Disks){
$Size= "{0:0.0} GB"-f($Disk.Size / 1GB )
$FreeSpace= "{0:0.0} GB"-f($Disk.FreeSpace / 1GB)
$Used= ([int64]$Disk.size - [int64]$Disk.freespace)
$SpaceUsed= "{0:0.0} GB"-f($Used/ 1GB)
$Percent="{0:0.0} %"-f($Used* 100 / $Disk.Size)
$n=3
Write-Host"  "$Disk.deviceid.PadRight($n)-no-ForegroundColorGreen
$n=10
Write-Host$Size.Padleft($n)-no-ForegroundColorGreen
Write-Host$FreeSpace.Padleft($n)-no-ForegroundColorGreen
Write-Host$SpaceUsed.Padleft($n)-no-ForegroundColorGreen
Write-Host$Percent.Padleft($n)-ForegroundColorGreen
}
}
#判斷linux主機
if($port22-like"$true"){
write-host"
================================================================================================================
服務器:$IPaddress 開放端口:"22" 可能是一臺是"linux"主機"-ForegroundColorYellow
}
#判斷網絡設備
if($port23-like"$true"){
Write-host"
================================================================================================================
服務器:$Ipaddress 開放端口:"23" 可能是一臺"網絡"設備"-ForegroundColorCyan
}
#主機不存在
if($Pingtest-like"$False"){
Write-host"
================================================================================================================
服務器:$Ipaddress 此主機不存在"-ForegroundColorRed
}
}


使用方法舉例:

 

1 將腳本保存至c:\
2 運行powershell 執行PS C:\> .\test.ps1 10.7.2 #只需輸入網絡的前三位

復制代碼 代碼如下:

PS C:\> .\test.ps1 10.7.2

 

PowerShell腳本實現檢測網絡內主機類型

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲福利一区二区 | 精品国产乱码久久久久久免费 | 国产成人在线播放 | 久久机热视频 这里只有精品首页 | 特级夫妻大片免费在线播放 | 双性肉文高h | 成人欧美视频在线看免费 | 日本欧美大码a在线视频播放 | 欧美大美bbb和大白屁股 | chinese老太granny chinese国产人妖hd | 午夜伦理 第1页 | 久久免费看少妇级毛片蜜臀 | 成人综合网址 | 亚洲人成在线观看一区二区 | 亚洲成av人片在线观看天堂无码 | 成人中文字幕在线高清 | 精久久| 欧美日韩亚洲国内综合网香蕉 | 国产成人亚洲精品一区二区在线看 | 久久青草费线频观看国产 | 久久艹影院 | 精品一成人岛国片在线观看 | 亚洲免费视频一区 | 91麻豆精品国产自产在线 | 国产自拍资源 | 亚洲精品国产一区二区三区在 | 四虎最新免费网址 | 波多野结衣在线观看中文字幕 | 亚洲国产情侣偷自在线二页 | 小早川怜子在线播放精品 | 欧洲美女bbbxxxxxx | 45分钟做受片免费观看 | 亚洲国产天堂久久精品网 | 黄网国产 | 欧美日韩一级视频 | 粉嫩极品国产在线观看免费 | 91精品国产色综合久久 | 国产成人精品免费视频软件 | videos变态极端 | 国产精品不卡高清在线观看 | 午夜爱爱片 |