返回列表 发帖
function Get_CurrentDateTime() {
$str = [System.Collections.ArrayList]@()
$str += "信息提取时间:"  + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss')
$str += ""
return $str
}
# 获取操作系统信息
function Get_Info_system() {
$str = [System.Collections.ArrayList]@()
$osInfo = Get-CimInstance -ClassName Win32_OperatingSystem
$str += "系统版本:$($osInfo.Caption) $($osInfo.Version) 【 $($osInfo.OSArchitecture) 】"
$str += "安装日期:$( $osInfo.InstallDate.ToString('yyyy-MM-dd') )"
$str += ""
return $str
}
# 获取产品信息
function Get_Info_Product() {
$str = [System.Collections.ArrayList]@()
$productInfo = Get-CimInstance -ClassName Win32_ComputerSystemProduct
$str += "产品:"
$str += "    供应商:" + $productInfo.Vendor
$str += "    系  列:" + $productInfo.Name
$str += "    型  号:" + $productInfo.Version
$str += "    序列号:" + $productInfo.IdentifyingNumber
$str += ""
return $str
}
# 获取主板信息
function Get_Info_BaseBoard() {
$str = [System.Collections.ArrayList]@()
$baseboardInfo = Get-CimInstance -ClassName Win32_BaseBoard
$str += "主板:"
$str += "    制造商:" + $baseboardInfo.Manufacturer
$str += "    产  品:" + $baseboardInfo.Product
$str += "    序列号:" + $baseboardInfo.SerialNumber
$str += ""
return $str
}
# 获取处理器信息
function Get_Info_Processor() {
$str = [System.Collections.ArrayList]@()
$processorInfo = Get-CimInstance -ClassName Win32_Processor
$str += "CPU :【 $( ($processorInfo | Measure-Object).Count ) 颗 】"
foreach ($processor in $processorInfo) {
$str += "    名  称: $($processor.Name) 【 $($processor.NumberOfCores) 核 $($processor.NumberOfLogicalProcessors) 线程 】"
$str += "    主  频:" + $processor.MaxClockSpeed
}
$str += ""
return $str
}
# 获取内存信息
function Get_Info_Memory() {
$str = [System.Collections.ArrayList]@()
$memoryInfo = Get-CimInstance -ClassName Win32_PhysicalMemory
$str += "内存:【 $( ($memoryInfo | Measure-Object).Count ) 条 】"
$str += "    总容量: $(($memoryInfo | Measure-Object -Property Capacity -Sum).Sum / 1GB) GB"
foreach ($memory in $memoryInfo) {
$str += "    内存: $($memory.Capacity / 1GB) GB"
$str += "        品    牌: $($memory.Manufacturer)"
$str += "        序 列 号: $($memory.SerialNumber)"
$str += "        最高频率: $($memory.Speed)"
}
$str += ""
return $str
}
# 获取硬盘信息
function Get_Info_Disk() {
$str = [System.Collections.ArrayList]@()
$diskInfo = Get-CimInstance -ClassName Win32_DiskDrive | Where-Object { $_.MediaType -eq 'Fixed hard disk media' }
foreach ($disk in $diskInfo) {
$physicalDisk = Get-PhysicalDisk | Where-Object { $_.DeviceID -eq $disk.DeviceID.Substring(17) }
Add-Member -InputObject $disk -MemberType NoteProperty -Name BusType -Value $physicalDisk.BusType
}
$str += "硬盘:【 $( ($diskInfo | Measure-Object).Count ) 块 】"
foreach ($disk in $diskInfo) {
$str += "    DeviceID: $($DeviceID)"
$str += "    BusType: $($BusType)"
$str += "    硬  盘: $($disk.Model)"
$str += "    序列号: $($disk.SerialNumber)"
$str += "    容  量: $($disk.Size / 1GB) GB"
}
$str += ""
return $str
}
# 获取显示信息
function Get_Info_Video() {
$str = [System.Collections.ArrayList]@()
$videoInfo = Get-CimInstance -ClassName Win32_VideoController
$str += "显示:"
foreach ($video in $videoInfo) {
$str += "    当前刷新率: " + $video.CurrentRefreshRate
$str += "    最高刷新率: " + $video.MaxRefreshRate
$str += "    显卡  名称: " + $video.Name
$str += "    当前分辨率: " + $video.VideoModeDescription
}
$str += ""
return $str
}
# 获取BIOS信息
function Get_Info_BIOS() {
$str = [System.Collections.ArrayList]@()
$biosInfo = Get-CimInstance -ClassName Win32_BIOS
$str += "BIOS:"
$str += "    制  造  商: " + $biosInfo.Manufacturer
$str += "    名      称: " + $biosInfo.Name
$str += "    版      本: " + $biosInfo.Version
$str += "    BIOS  版本: " + $biosInfo.BIOSVersion
$str += "    SMBIOS版本: " + $biosInfo.SMBIOSBIOSVersion
$str += "    固件  日期: " + $biosInfo.ReleaseDate.ToString('yyyy-MM-dd')
$str += "    序  列  号: " + $biosInfo.SerialNumber
$str += ""
return $str
}
$info = [System.Collections.ArrayList]@()
$info += Get_CurrentDateTime
$info += Get_Info_system
$info += Get_Info_Product
$info += Get_Info_BaseBoard
$info += Get_Info_BIOS
$info += Get_Info_Processor
$info += Get_Info_Memory
$info += Get_Info_Disk
$info += Get_Info_Video
$info | Out-File "info.txt"
pauseCOPY

TOP

可以保存文件,其他有空了再来

TOP

function Get_CurrentDateTime() {
[void]$info.add( "信息提取时间:" + (Get-Date).ToString('yyyy-MM-dd HH:mm:ss') )
[void]$info.add( "" )
}
# 获取操作系统信息
function Get_Info_system() {
$osInfo = Get-CimInstance -ClassName Win32_OperatingSystem
[void]$info.add( "OS:" )
[void]$info.add( "    Name      :$( $osInfo.Caption ) 【 $( $osInfo.OSArchitecture ) 】" )
[void]$info.add( "    Version   :$( $osInfo.Version )" )
[void]$info.add( "    安装日期  :$( $osInfo.InstallDate.ToString('yyyy-MM-dd') )" )
[void]$info.add( "    BIOS Mode : $env:firmware_type" )
[void]$info.add( "" )
}
# 获取产品信息
function Get_Info_Product() {
$productInfo = Get-CimInstance -ClassName Win32_ComputerSystemProduct
[void]$info.add( "产品:" )
[void]$info.add( "    供应商:" + $productInfo.Vendor )
[void]$info.add( "    系列  :" + $productInfo.Name )
[void]$info.add( "    型号  :" + $productInfo.Version )
[void]$info.add( "    序列号:" + $productInfo.IdentifyingNumber )
[void]$info.add( "" )
}
# 获取主板信息
function Get_Info_BaseBoard() {
$baseboardInfo = Get-CimInstance -ClassName Win32_BaseBoard
[void]$info.add( "主板:" )
[void]$info.add( "    制造商:" + $baseboardInfo.Manufacturer )
[void]$info.add( "    产品  :" + $baseboardInfo.Product )
[void]$info.add( "    序列号:" + $baseboardInfo.SerialNumber )
[void]$info.add( "" )
}
# 获取处理器信息
function Get_Info_Processor() {
$processorInfo = Get-CimInstance -ClassName Win32_Processor
[void]$info.add( "CPU :【 $( ($processorInfo | Measure-Object).Count ) 】" )
foreach ($processor in $processorInfo) {
[void]$info.add( "    名称: $( $processor.Name ) 【 $( $processor.NumberOfCores ) 核 $( $processor.NumberOfLogicalProcessors ) 线程 】" )
[void]$info.add( "    主频:" + $processor.MaxClockSpeed )
}
[void]$info.add( "" )
}
# 获取内存信息
function Get_Info_Memory() {
$memoryInfo = Get-CimInstance -ClassName Win32_PhysicalMemory
[void]$info.add( "内存:【 $( ($memoryInfo | Measure-Object).Count ) 】" )
[void]$info.add( "    总容量: {0} GB" -f $( ( $memoryInfo | Measure-Object -Property Capacity -Sum ).Sum / 1GB ) )
foreach ($memory in $memoryInfo) {
#$( $memory.BankLabel )
[void]$info.add( "    #   插槽    : $( $memory.DeviceLocator )" )
[void]$info.add( "        品牌    : $( $memory.Manufacturer )" )
[void]$info.add( "        序列号  : $( $memory.SerialNumber )" )
[void]$info.add( "        容量    : $( $memory.Capacity / 1GB ) GB" )
[void]$info.add( "        最高频率: $( $memory.Speed )" )
}
[void]$info.add( "" )
}
# 获取硬盘信息
function Get_Info_Disk() {
$diskInfo = Get-CimInstance -ClassName Win32_DiskDrive | Where-Object { $_.MediaType -eq 'Fixed hard disk media' }
foreach ($disk in $diskInfo) {
$physicalDisk = Get-PhysicalDisk | Where-Object { ('\\.\PHYSICALDRIVE' + $_.DeviceID ) -eq $disk.DeviceID }
Add-Member -InputObject $disk -MemberType NoteProperty -Name BusType -Value $physicalDisk.BusType
}
[void]$info.add( "硬盘:【 $( ($diskInfo | Measure-Object).Count ) 】" )
foreach ($disk in $diskInfo) {
[void]$info.add( "    #   DeviceID: $( $disk.DeviceID )" )
[void]$info.add( "        BusType : $( $disk.BusType )" )
[void]$info.add( "        型号    : $( $disk.Model )" )
[void]$info.add( "        序列号  : $( $disk.SerialNumber )" )
[void]$info.add( "        容量    : $( [int]($disk.Size / 1GB) ) GB" )
}
[void]$info.add( "" )
}
# 获取显示信息
function Get_Info_Video() {
$videoInfo = Get-CimInstance -ClassName Win32_VideoController
[void]$info.add( "显示适配器:" )
foreach ($video in $videoInfo) {
[void]$info.add( "    #   名称      : " + $video.Name )
[void]$info.add( "        显存      : " + $( $video.AdapterRAM / 1GB ) + " GB" )
[void]$info.add( "        当前刷新率: " + $video.CurrentRefreshRate )
[void]$info.add( "        最高刷新率: " + $video.MaxRefreshRate )
[void]$info.add( "        当前分辨率: " + $video.VideoModeDescription )
}
[void]$info.add( "" )
}
# 获取网卡信息
function Get_Info_NetAdapter() {
$nicInfo = Get-NetAdapter -Physical
[void]$info.add( "网络适配器:【 $( ($nicInfo | Measure-Object).Count ) 】" )
foreach ( $nic in $nicInfo ) {
[void]$info.add( "    #   名称      : $( $nic.DriverDescription )" )
[void]$info.add( "        MacAddress: $( $nic.MacAddress )" )
}
[void]$info.add( "" )
}
# 获取BIOS信息
function Get_Info_BIOS() {
$biosInfo = Get-CimInstance -ClassName Win32_BIOS
[void]$info.add( "BIOS:" )
[void]$info.add( "    制造商    : " + $biosInfo.Manufacturer )
[void]$info.add( "    名称      : " + $biosInfo.Name )
[void]$info.add( "    版本      : " + $biosInfo.Version )
[void]$info.add( "    BIOS  版本: " + $biosInfo.BIOSVersion )
[void]$info.add( "    SMBIOS版本: " + $biosInfo.SMBIOSBIOSVersion )
[void]$info.add( "    固件日期  : " + $biosInfo.ReleaseDate.ToString('yyyy-MM-dd') )
[void]$info.add( "    序列号    : " + $biosInfo.SerialNumber )
[void]$info.add( "" )
}
$info = [System.Collections.ArrayList]@()
Get_CurrentDateTime
Get_Info_system
Get_Info_Product
Get_Info_BaseBoard
Get_Info_BIOS
Get_Info_Processor
Get_Info_Memory
Get_Info_Disk
Get_Info_NetAdapter
Get_Info_Video
$info | Out-File "info.txt"
pauseCOPY

TOP

回复 18# newswan


    谢谢,我学习学习。

TOP

运行环境,收集局域网内所有电脑配置(批处理放置在共享文件夹内,双击运行之后把生成的电脑配置文件复制到共享文件夹内。)(问题,按任意键保存时批处理不自动关闭。麻烦给修改一下。)
@echo off&setlocal enabledelayedexpansion&title gfd硬件检测_5.3
REM 日期时间
for /f "tokens=1* delims=:=" %%a in ('"wmic os Get Caption,InstallDate,OSArchitecture,Version /value"') do (
    IF /I "%%a"=="Caption" set Caption=%%b
    IF /I "%%a"=="InstallDate" set InstallDate=%%b
    IF /I "%%a"=="OSArchitecture" set OSArchitecture=%%b
    IF /I "%%a"=="Version" set Version=%%b
)
echo 信息提取时间:%date%      时间 %Time%
echo Windows_信息:%Caption% %Version%%OSArchitecture%】 安装日期:%InstallDate:~0,4%%InstallDate:~4,2%%InstallDate:~6,2%日_%InstallDate:~8,2%%InstallDate:~10,2%%InstallDate:~12,2%
echo.
REM 产品 csproduct
for /f "tokens=1* delims==" %%a in ('"wmic csproduct Get IdentifyingNumber,Name,Vendor,Version /value"') do (
    IF /I "%%a"=="IdentifyingNumber" set IdenCS=%%b
    IF /I "%%a"=="Name" set NameCS=%%b
    IF /I "%%a"=="Vendor" set VendCS=%%b
    IF /I "%%a"=="Version" set VersCS=%%b
)
REM 主板 baseboard
for /f "tokens=1* delims=:=" %%i in ('"wmic baseboard get Manufacturer,Product,SerialNumber /value"') do (
    IF /I "%%i"=="Manufacturer" set ManuZB=%%j
    IF /I "%%i"=="Product" set ProdZB=%%j
    IF /I "%%i"=="SerialNumber" set SeriZB=%%j
)
REM 系统管理 ComputerSystem
for /f "tokens=1* delims=:=" %%i in ('"wmic ComputerSystem get Manufacturer,SystemFamily,SystemSKUNumber /value"') do (
    IF /I "%%i"=="Manufacturer" set ManuSY=%%j
    IF /I "%%i"=="SystemFamily" set FamiSY=%%j
    IF /I "%%i"=="SystemSKUNumber" set SKUNSY=%%j
)
echo 计算机名: %computername%
echo 主板出厂日期:%ReleaseDate:~0,4%%ReleaseDate:~4,2%%ReleaseDate:~6,2%
echo 主板型号:%ManuZB%  %ProdZB%  序列号:%SeriZB%
REM 处理器
for /f "tokens=2 delims==" %%a in ('"wmic cpu Get DeviceID /value"') do set /a CPUQuantity+=1
for /f "tokens=1* delims==" %%a in ('"wmic cpu Get MaxClockSpeed,Name,NumberOfCores,NumberOfLogicalProcessors /value"') do (
    IF /I "%%a"=="MaxClockSpeed" set MaxClockSpeed=%%b
    IF /I "%%a"=="Name" set NameC=%%b
    IF /I "%%a"=="NumberOfCores" set NumberOfCores=%%b
    IF /I "%%a"=="NumberOfLogicalProcessors" set NumberOfLogicalProcessors=%%b
)
echo CPU :【%CPUQuantity% 颗】
echo     名  称:%NameC%%NumberOfCores%%NumberOfLogicalProcessors%线程】
REM 内存
for /f "tokens=2 delims==" %%a in ('"wmic memorychip Get Tag /value"') do set /a MemoryQuantity+=1
for /f "tokens=2 delims==" %%a in ('"wmic memorychip Get Capacity /value"') do (
    set Capacity=%%a
    set /a NCG=!Capacity:~,-7!/1073
    set /a m+=!NCG!
)
for /f "tokens=1* delims==" %%a in ('"wmic memorychip where Tag='Physical Memory 0' Get ConfiguredClockSpeed /value"') do (
    IF /I "%%a"=="ConfiguredClockSpeed" set ConfiguredClockSpeed=%%b
)
echo 内存:【%MemoryQuantity% 条】
echo     总容量:!m! GB  【当前频率:%ConfiguredClockSpeed% MHz】
echo     ----------------------------
for /f "tokens=1* delims==" %%a in ('"wmic memorychip Get Capacity,Manufacturer,SerialNumber,Speed /value"') do (
    IF /I "%%a"=="Capacity" (
        set Capacity=%%b
        set /a NCG=!Capacity:~,-7!/1073
        set /a NC+=1
        echo.          内存!NC!%NCG% GB)
    IF /I "%%a"=="Manufacturer" (
        echo.        品    牌:%%b)
    IF /I "%%a"=="SerialNumber" (
        echo.        序 列 号:%%b)
    IF /I "%%a"=="Speed" (
        echo.        最高频率:%%b
        echo     ----------------------------)
)
echo.&echo.
REM 硬盘
for /f "tokens=2 delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' Get Caption /value"') do set /a DiskQuantity+=1
echo 硬盘:【%DiskQuantity% 块】
for /f "tokens=1* delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' Get Model,SerialNumber,Size /value"') do (
    IF /I "%%a"=="Model" (
        set /a YP+=1
        echo.    硬盘 !YP!%%b)
    IF /I "%%a"=="SerialNumber" (
        echo.    序列号:%%b)
    IF /I "%%a"=="Size" (
        set Size=%%b
        echo.    容  量:!Size:~,-10! GB
        echo     ----------------------------)
)
echo.&echo.
REM BIOS
for /f "tokens=1* delims=:=" %%a in ('"wmic bios Get BIOSVersion,Manufacturer,Name,ReleaseDate,SerialNumber,SMBIOSBIOSVersion,Version /value"') do (
    IF /I "%%a"=="ReleaseDate" set ReleaseDate=%%b
    IF /I "%%a"=="SerialNumber" set SeriBI=%%b
    IF /I "%%a"=="Manufacturer" set ManuBI=%%b
    IF /I "%%a"=="Name" set NameBI=%%b
    IF /I "%%a"=="Version" set VersBI=%%b
    IF /I "%%a"=="BIOSVersion" set BIOSVersion=%%b
    IF /I "%%a"=="SMBIOSBIOSVersion" set SMBIOSBIOSVersion=%%b
)
echo.
echo 信息提取完成,按任意键保存到文本中。
pause>nul
REM ==========保存信息到文件中,如果不需要,删除下面所有==========
set dept=部门名-测试名
(echo 信息提取时间:%date%      时间 %Time%
echo Windows_信息:%Caption% %Version%%OSArchitecture%】 安装日期:%InstallDate:~0,4%%InstallDate:~4,2%%InstallDate:~6,2%日_%InstallDate:~8,2%%InstallDate:~10,2%%InstallDate:~12,2%
echo.
echo 计算机名: %computername%
echo 主板出厂日期:%ReleaseDate:~0,4%%ReleaseDate:~4,2%%ReleaseDate:~6,2%
echo 主板型号:%ManuZB%  %ProdZB%  序列号:%SeriZB%
echo.)>>"!dept!-%computername%.txt"
echo CPU :【%CPUQuantity% 颗】>>"!dept!-%computername%.txt"
echo     名  称:%NameC%%NumberOfCores%%NumberOfLogicalProcessors%线程】>>"!dept!-%computername%.txt"
echo.>>"!dept!-%computername%.txt"
echo 内存:【%MemoryQuantity% 条】>>"!dept!-%computername%.txt"
echo     总容量:%m% GB  【当前频率:%ConfiguredClockSpeed% MHz】>>"!dept!-%computername%.txt"
echo     ---------------------------->>"!dept!-%computername%.txt"
for /f "tokens=1* delims==" %%a in ('"wmic memorychip Get Capacity,Manufacturer,SerialNumber,Speed /value"') do (
    IF /I "%%a"=="Capacity" (
        set CapaTXT=%%b
        set /a NCG=!CapaTXT:~,-7!/1073
        set /a NCTXT+=1
        echo.          内存!NCTXT!%NCG% GB>>"!dept!-%computername%.txt")
    IF /I "%%a"=="Manufacturer" (
        echo.        品    牌:%%b>>"!dept!-%computername%.txt")
    IF /I "%%a"=="SerialNumber" (
        echo.        序 列 号:%%b>>"!dept!-%computername%.txt")
    IF /I "%%a"=="Speed" (
        echo.        最高频率:%%b>>"!dept!-%computername%.txt"
        echo     ---------------------------->>"!dept!-%computername%.txt"))
(echo.
echo 硬盘:【%DiskQuantity% 块】)>>"!dept!-%computername%.txt"
for /f "tokens=1* delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' Get Model,SerialNumber,Size /value"') do (
    IF /I "%%a"=="Model" (
        set /a YPTXT+=1
        echo.    硬盘 !YPTXT!%%b>>"!dept!-%computername%.txt")
    IF /I "%%a"=="SerialNumber" (
        echo.    序列号:%%b>>"!dept!-%computername%.txt")
    IF /I "%%a"=="Size" (
        set Size=%%b
        echo.    容  量:!Size:~,-10! GB>>"!dept!-%computername%.txt"
        echo     ---------------------------->>"!dept!-%computername%.txt"))
(echo.
echo   ****************************************页尾****************************************
)>>"!dept!-%computername%.txt"
xcopy /s /y c:\windows\%dept%-%computername%.txt \\win2008r2\硬件信息\
echo.&echo 已保存,稍后自动退出。&echo.
timeout /T 3 >nulCOPY

TOP

正找这个呢,楼主辛苦了,感谢分享!

TOP

加 nvme 识别
newswan 发表于 2024-1-17 20:52



    纯新手,可不可以弄个完整版的呀,这个不会用

TOP

返回列表