【使い方】以下のバッチファイルを適当なフォルダに格納して実行する
「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