服务器信息收集

news2024/10/5 13:59:01

#Version:1.2
#Modify Date:2013-05-21

#说明:
#该脚本可以获取计算机名,域名,IP地址,操作系统版本,CPU名称+单颗CPU内核数量*CPU个数,内存大小(GB),单块磁盘大小,计算机序列号,制造商,计算机型号
#该脚本先将计算机信息输出到txt文件中,然后再自动输出到csv格式文件,检查无误后,可以将txt文件删除
#在运行该脚本的时候需要确保对需要获取信息的计算机有管理员权限,可以通过UNC路径访问到分区即可
#增加系统x86,x64版本判断

#定义获取计算机信息的函数
Function GetServerInfo ($server)
{
If (Test-Connection $server -count 1 -quiet)
{$system = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $server
If ($?)
{
#获取计算机域名、型号
$domainname = $system.Domain
$model = $system.Model

#获取计算机IP地址,取IP和gw不为空的网卡IP地址
$ip = gwmi Win32_NetworkAdapterConfiguration -computer $server|?{$_.ipaddress -ne $null -and $_.defaultipgateway -ne $null}
$ipaddr = $ip.ipaddress

#获取操作系统版本
$os = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $server
#获取SP版本号
$osversion_letter = switch ($os.Version.Split(".")[2])
{
9200 {$null}
7601 {"SP1"}
3790 {"SP2"}
default {$os.Version}
}
$osversion = $os.Caption + " " + $osversion_letter + " X"+$os.OSArchitecture.Substring(0,2)


#获取CPU名称、单颗CPU核心数量*CPU个数
$cpus = Get-WmiObject win32_processor -ComputerName $server
$cpucount = 0
Foreach ($cpu in $cpus)
{
If ($cpu.DeviceID -ne $null)
{$cpucount += 1}
}
$cpunamecore = $cpu.name+" "+[string]$cpu.NumberOfCores + '*' + [string]$cpucount + "C"

#获取内存大小
$memorys = Get-WmiObject -Class Win32_PhysicalMemory -ComputerName $server
#$memorylist = $null
$memorysize_sum = $null
Foreach ($memory in $memorys)
{
#$memorylist += ($memory.capacity/1024/1024/1024).tostring("F1")+"GB + "
$memorysize_sum += $memory.capacity/1024/1024/1024
}

#获取磁盘信息
$disks = Get-WmiObject Win32_Diskdrive -ComputerName $server
$disklist = $null
#$disksize_sum = $null
Foreach ($disk in $disks)
{
$disklist += ($disk.deviceid.replace("\\.\PHYSICALDRIVE","Disk") +":" + [int]($disk.size/1024/1024/1024)+"GB ")
#$disksize_sum+=$disk.size
}

#获取计算机序列号、制造商
$bios = Get-WmiObject -Class Win32_BIOS -ComputerName $server
$sn = $bios.SerialNumber
If ($sn.Substring(0,6) -eq "VMware")
{$sn = "VMware-"}
$manufacturer = $bios.Manufacturer

$serverinfo = $server + "," + $domainname + "," + $ipaddr + "," + $osversion + "," + $cpunamecore + "," + $memorysize_sum + "," + $disklist + "," + $sn + "," + $manufacturer + "," + $model
}
Else {$serverinfo = $server + ",RPC服务不可用"}
}
Else {$serverinfo = $server + ",无法Ping通"}
Return $serverinfo
}


#定义服务器列表文件位置,输出结果保存位置
$serverlist_path="D:\infor_collect\serverlist.txt"
$serverInfo_result_path_tmp="D:\infor_collect\ServerInfo_result_tmp.txt"
$serverInfo_result_path="D:\infor_collect\ServerInfo_result.csv"

If (Test-Path $serverInfo_result_path_tmp)
{
$vbs = New-Object -ComObject WScript.Shell
$vbs.popup($serverInfo_result_path_tmp + " 文件已存在,请重新输入保存位置!",0,"提示")
Exit
}
If (Test-Path $serverInfo_result_path)
{
$vbs = New-Object -ComObject WScript.Shell
$vbs.popup($serverInfo_result_path + " 文件已存在,请重新输入保存位置!",0,"提示")
Exit
}


$dt = Get-Date
[array]$serverlist=gc $serverlist_path
$usedrows = $serverlist.count
#写入标题行
"计算机名,域名,IP地址,操作系统,CPU,内存大小(GB),磁盘,序列号,制造商,计算机型号"|Out-File $serverInfo_result_path_tmp -Append
For($i=1;$i -le $usedrows;$i++)
{
$server = $serverlist[$i-1]
#显示进度条,显示百分比 和 当前第几个
$w=$i.tostring()+'/'+$usedrows.tostring()
Write-Progress -Activity "进度显示" -status "正在处理 $server,请耐心等待" -percentcomplete ($i/$usedrows*100) -currentoperation $w

If ($server -ne "$null")
{ GetServerInfo $server|Out-File $serverInfo_result_path_tmp -Append}
Else {Write-Host "第" $i "行为空" -ForegroundColor Red}
}
#将txt格式文件转换为csv格式
Import-Csv $serverInfo_result_path_tmp |Export-Csv $serverInfo_result_path -Encoding UTF8 -NoTypeInformation
#获取脚本运行时长
Write-Host "该脚本运行时长为:" (New-Timespan $dt).TotalMinutes "分钟" -ForegroundColor Green

个人搜集整理学习路线及笔记icon-default.png?t=N3I4https://mp.weixin.qq.com/s/KQx_eIwdjCj3QdErxKb7ZQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈Gradle构建工具

一、序言 常见的项目构建工具有Ant、Maven、Gradle,以往项目常见采用Maven进构建,但随着技术的发展,越来越多的项目采用Gradle进行构建,例如 Spring-boot。Gradle站在了Ant和Maven构建工具的肩膀上,使用强大的表达式语…

千万不要乱操作了!医院机房这么做真高级

各类中心数据机房广泛分布于银行、库房、交通、电信、医院、教育等行业。系统故障和人为操作不当可能导致各种业务中断或数据丢失,进而影响企业业务的停滞和运行。 医院管理3大难题和挑战 01.缺乏预警、告警机制 医院在使用自动化监控系统之前,主要靠人…

springboot足球赛事安排球队管理系统

系统主要有球队赛程安排,包括比赛数据,球员信息,球员实时数据,球队纪念品售卖 Spring Boot 是 Spring 家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程。也可以说 Spring Boot 能简化我们之前采用SS…

09——path的使用

一、path 是 svg 中最强大的图形 用于定义一个 路径所有命令均允许小写字母。大写 表示绝对定位,小写 表示 相对定位 (相对于上一个结束的坐标)d 属性中包含所有路径的点,可根据命令缩写 自由组合 命令 名称 …

Windows 11 反转鼠标和触摸板滚动方向

如果在使用 Windows 10 设备时不喜欢鼠标或触摸板的「下滚上移,上滚下移」方式,可以通过调整「Windows 设备」或更改注册表 2 种方式来反转滚动方向。 下面就为大家介绍详细步骤。 Windows 11反转触摸板滚动方向 要通过调整「Windows 设置」反转触摸板…

企业为什么需要一套CRM系统进行销售管理

随着市场竞争的日益激烈和消费者的日益挑剔,企业要想在市场中取得优势地位,就需要通过有效的销售管理来提高销售业绩。而CRM系统作为企业实现销售管理的最佳选择,越来越受到企业的重视和关注。 一、CRM系统的优势 1. 提高销售流程管理效率 C…

车载AUTOSAR和OSEK关系及网络管理的异同(NM)

AUTOSAR和OSEK关系及网络管理比较 AUTOSAR和OSEK关系及网络管理比较 AUTOSAR和OSEK关系及网络管理比较AUTOSAR与OSEK的关系AUTOSARAUTOSAR架构和标准的目标是:AUTOSAR架构的主要特点是:AUTOSAR标准有四个核心内容: OSEK其特点主要有以下几个方…

基于SSM+JSP的高校学生健康档案管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

【ChatGPT】ChatGPT-5 到底有多强?

目录 1、ChatGPT-5 到底有多强2、技术方向3、系统特点4、系统应用5、ChatGPT-5为什么停止训练? 1、ChatGPT-5 到底有多强 OpenAI 最新的自然语言处理技术 ChatGPT-5 近期发布,拥有过去版本的一系列升级和改进。那么,在 ChatGPT-4 强大的基础…

STM32 调试TM7711驱动原理图驱动代码

本文使用工程代码如下 (1条消息) STM32调试TM7711驱动原理图驱动源代码,参考如下博客,有原理图设计资源-CSDN文库 背景 项目选用TM7711,还是很令人吃惊的,主要是有如下几个理由 第一就是便宜 第二精度高 STM32的ADC精度不够…

STM32 学习笔记_8 定时器中断:输入捕获

输入捕获 输入引脚发生跳变时,cnt的值会被记录到ccr中,可以用于测量pwm信号等。配置成pwmi模式还可以同时测量频率和占空比。主从触发模式可以实现硬件全自动测量。 高级定时器和通用定时器才有的功能。 这个功能只能测数字信号,对于a信号…

【k8s概念】一文搞懂k8s核心概念,吐血整理~两万字~!!!

文章目录 1. k8s简介1.1 k8s概念1.2 作用/功能 2. k8s集群搭建方式3. k8s核心组件3.1 Master Node(控制平面组件)3.2 Worker Node 4. k8s核心概念4.1 容器4.2 工作负载——Pod4.3 Pod控制器4.3.1 ReplicationController(RC)4.3.2 ReplicaSet(RS)4.3.3 De…

四大关键举措高效管控企业税务风险

税务风险是指企业在税务管理中,由于涉税行为因未能正确有效地遵守税法规定,而导致企业出现经济损失以及企业形象受损。企业税务风险的来源主要有两方面:第一,企业的纳税行为不符合税收法律法规的规定或对相关的税务政策未能全面理…

隐私计算论文合集「多方安全计算系列」第一期

当前,隐私计算领域正处于快速发展的阶段,涌现出了许多前沿的SOTA算法和备受关注的顶会论文。为了方便社区小伙伴学习最新算法、了解隐私计算行业最新进展和应用,隐语开源社区在GitHub创建了Paper推荐项目awesome-PETs(PETs即Priva…

生态伙伴 | 硬创大赛新起航!携手华强科创广场,助力硬科技创业者

01 大赛介绍 中国硬件创新创客大赛始于2015年,由深圳华秋电子有限公司主办,至今已经成功举办八届,赛事范围覆盖华南、华东、华北三大地区,超10个省市区域。 大赛影响了超过45万工程师群体,吸引了35000多名硬创先锋报…

markdown神器 -Typora使用教程笔记2023最新版

文章目录 前言一、下载安装包和魔法工具二、第一步 选择为所有人安装三、第二步 创建桌面快捷方式四、第四步 安装五、第五步 完成安装六、第六步 取消勾选自动更新七、第七步 将魔法文件放在安装路径的根目录八、第八步 恭喜你,激活完成总结魔法工具获取方式 前言 …

{嵌入式操作系统}我国为什么要自主研发国产嵌入式操作系统

嵌入式操作系统不同于传统的桌面操作系统,用户不能直接执行它们,不同于桌面操作系统的无处不在,嵌入式操作系统隐藏在我们的视野之外,很多人甚至不知道它们的存在。 什么是嵌入式操作系统,它与非嵌入式操作系统有何不…

整合营销和内容营销哪个好,有什么区别

如果想做自媒体运营,不管是品牌还是个体从业者,其实都要学会如何去营销。这个也分为很多种方式,比如整合营销和内容营销。今天,来和大家谈谈整合营销和内容营销哪个好,如何才能将他们应用好? 要想回答这个问题&#x…

Linux实操篇---常用的基本命令4(磁盘查看和分区类)

一、磁盘查看和分区类 du查看文件和目录占用的磁盘空间 du:disk usage 磁盘占用情况 基本语法: du 目录/文件 显示目录下每个字母里的磁盘使用情况选项说明: 选项功能-h以人们较易阅读的GBytes,MBytes,KBytes等…

android waklock锁阻止休眠调试

上层wakelock 锁获取 adb shell dumpsys powerLooper state:Looper (PowerManagerService, tid 30) {aabc9c2}Message 0: { when42s654ms what4 targetcom.android.server.power.PowerManagerService$PowerManagerHandler }Message 1: { when9m39s94ms what1 targetcom.android…