忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【BAT】WindowsのOS情報取得ツール

【使い方】以下のバッチファイルを適当なフォルダに格納して実行する

「PC_情報取得バッチ.bat」 ← バッチファイル名

@echo off
::★★★PC情報取得バッチ★★★
::━━━━━━━━━━━━
setlocal
set YYYYMMDD=%DATE:/=%
set xxx=%COMPUTERNAME%
set OS_BIT=%PROCESSOR_ARCHITECTURE%
set x_FILE_000_x=%xxx%_%YYYYMMDD%_ALL.txt
set x_FILE_001_x=%xxx%_%YYYYMMDD%_OS_bit.txt
set x_FILE_002_x=%xxx%_%YYYYMMDD%_User.txt
set x_FILE_003_x=%xxx%_%YYYYMMDD%_Group.txt
set x_FILE_004_x=%xxx%_%YYYYMMDD%_wmic_qfe.txt
set x_FILE_005_x=%xxx%_%YYYYMMDD%_ipconfig.txt
set x_FILE_006_x=%xxx%_%YYYYMMDD%_firewall.txt
set x_FILE_007_x=%xxx%_%YYYYMMDD%_systeminfo.txt
set SOFT_FILE=%xxx%_%YYYYMMDD%_SOFT.csv
set TMP_FILE=%xxx%_tmp.txt
set x_FILE_ZIP_x=%xxx%_%YYYYMMDD%.zip
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_001_x%
echo OSビット情報 >> %x_FILE_001_x%
echo ... "x86" This PC is 32bit OS >> %x_FILE_001_x%
echo ... "AMD64" This PC is 64bit OS >> %x_FILE_001_x%
echo ▲▼▲▼▲▼ >> %x_FILE_001_x%
echo . >> %x_FILE_001_x%
echo [OS_BIT] %PROCESSOR_ARCHITECTURE% >> %x_FILE_001_x%
::━━━━━━━━━━━━
wmic useraccount where LocalAccount=TRUE > %x_FILE_002_x%
::━━━━━━━━━━━━
::wmic group where LocalAccount=TRUE > %x_FILE_003_x%
net localgroup > %x_FILE_003_x%
::━━━━━━━━━━━━
wmic qfe > %x_FILE_004_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_005_x%
echo IPアドレス情報取得 >> %x_FILE_005_x%
echo ▲▼▲▼▲▼ >> %x_FILE_005_x%
echo . >> %x_FILE_005_x%
ipconfig /all >> %x_FILE_005_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_006_x%
echo FW情報取得 >> %x_FILE_006_x%
echo ▲▼▲▼▲▼ >> %x_FILE_006_x%
echo . >> %x_FILE_006_x%
netsh advfirewall firewall show rule name=all verbose >> %x_FILE_006_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_007_x%
echo systeminfo >> %x_FILE_007_x%
echo ▲▼▲▼▲▼ >> %x_FILE_007_x%
echo . >> %x_FILE_007_x%
systeminfo >> %x_FILE_007_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %SOFT_FILE%
echo -----------------------------------------
echo ソフト一覧取得 >> %SOFT_FILE%
echo ▲▼▲▼▲▼ >> %SOFT_FILE%
echo . >> %SOFT_FILE%
if %OS_BIT% == x86 (
 powershell "Get-ChildItem -Path('HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') | %% { Get-ItemProperty $_.PsPath | Select-Object DisplayName, DisplayVersion, Publisher } | Sort-Object -Property Displayname | Export-Csv -Path $env:TMP_FILE -Encoding Default"
 if ERRORLEVEL 1 CALL :ERRMSG インストール一覧作成に失敗しました
 findstr /V "^,,$" %TMP_FILE% >> %SOFT_FILE%
 del /F /Q %TMP_FILE%
) else if %OS_BIT% == AMD64 (
 powershell "Get-ChildItem -Path('HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall','HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') | %% { Get-ItemProperty $_.PsPath | Select-Object DisplayName, DisplayVersion, Publisher } | Sort-Object -Property Displayname | Export-Csv -Path $env:TMP_FILE -Encoding Default"
 if ERRORLEVEL 1 CALL :ERRMSG インストール一覧作成に失敗しました
 findstr /V "^,,$" %TMP_FILE% >> %SOFT_FILE%
 del /F /Q %TMP_FILE%
) else (
 CALL :ERRMSG OSのビット判定が不明のため処理をスキップします
)
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼
echo %xxx% の情報取得 ⇒ zip圧縮
echo 出力先: %x_FILE_ZIP_x%
echo ▲▼▲▼▲▼
pause
powershell "Compress-Archive -path %xxx%_* -DestinationPath $env:x_FILE_ZIP_x -Force"
if ERRORLEVEL 1 (
 CALL :ERRMSG ZIPファイルの作成に失敗しました
 goto ERREND
)
::━━━━━━━━━━━━
:: ★ファイル削除
del /F /Q %xxx%_*.txt
del /F /Q %xxx%_*.csv
::━━━━━━━━━━━━
:: ★正常終了
echo.
endlocal
exit /B 0
::━━━━━━━━━━━━
:: ★エラー処理
:ERRMSG
echo.
echo ERROR: %1
echo.
pause
exit /B 1

:ERREND
echo.
endlocal
exit /B 1
PR

更新日付

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<【BAT】Windowsの設定画面を表示する  | HOME |  【BAT】複数ファイル一括コピーのスクリプト>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]