PowerShell脚本实现检测网络内主机类型

2019-09-30 12:27:24王旭

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