イシイ オウカモデルによってデバイスIDが異なります。私が見つけたものを以下にリストアップします。
検出スクリプト
# デバイスIDのリストを定義
$deviceIds = @(
# Latitude 5420
"HID\VID_8087&PID_0AC2\6&23AA226A&0&0000",
# Latitude 5440
"HID\VID_8087&PID_0AC2\6&DEDACA2&0&0000",
"HID\VID_8087&PID_0AC2\6&24C9641&0&0000",
"HID\VID_8087&PID_0AC2\6&3334AEBF&0&0000",
"HID\VID_8087&PID_0AC2\6&280D181D&0&0000",
"HID\VID_8087&PID_0AC2\6&15536778&0&0000",
# Latitude 5520
"HID\VID_8087&PID_0AC2\6&313AFAFE&0&0000",
"HID\VID_8087&PID_0AC2\6&1E814A59&0&0000",
"HID\VID_8087&PID_0AC2\6&859E19C&0&0000",
# Latitude 5530
"HID\VID_8087&PID_0AC2\6&27E369EF&0&0000",
"HID\VID_8087&PID_0AC2\6&27008A5&0&0000",
"HID\VID_8087&PID_0AC2\6&1529B94A&0&0000",
# Latitude 5540
"HID\VID_8087&PID_0AC2\6&24C9641&0&0000",
"HID\VID_8087&PID_0AC2\6&150646E6&0&0000",
"HID\VID_8087&PID_0AC2\6&DEDACA2&0&0000",
"HID\VID_8087&PID_0AC2\6&280D181D&0&0000",
"HID\VID_8087&PID_0AC2\6&15536778&0&0000"
)
# 有効なデバイスが見つかったかどうかを判断するフラグ
$foundEnabledDevice = $false
# 各デバイスIDをループしてステータスを確認
foreach ($deviceId in $deviceIds) {
try {
$device = Get-PnpDevice -InstanceId $deviceId -ErrorAction Stop
if ($device) {
if ($device.Status -eq "OK") {
# デバイスが有効な場合、修復に進む
Write-Host "ID $deviceId のデバイスは有効です。修復に進みます。"
$foundEnabledDevice = $true
break # 最初の有効なデバイスを見つけたらループを抜ける
}
}
} catch {
# デバイスが見つからない、またはアクセスできない場合を処理
}
}
# 有効なデバイスが見つかった場合、修復を示すためにコード1で終了
if ($foundEnabledDevice) {
exit 1
}
# 有効なデバイスが見つからない場合、コード0で終了
exit 0
修復スクリプト
# デバイスIDのリストを定義
$deviceIds = @(
# Latitude 5420
"HID\VID_8087&PID_0AC2\6&23AA226A&0&0000",
# Latitude 5440
"HID\VID_8087&PID_0AC2\6&DEDACA2&0&0000",
"HID\VID_8087&PID_0AC2\6&24C9641&0&0000",
"HID\VID_8087&PID_0AC2\6&3334AEBF&0&0000",
# Latitude 5520
"HID\VID_8087&PID_0AC2\6&313AFAFE&0&0000",
"HID\VID_8087&PID_0AC2\6&1E814A59&0&0000",
"HID\VID_8087&PID_0AC2\6&859E19C&0&0000",
# Latitude 5530
"HID\VID_8087&PID_0AC2\6&27E369EF&0&0000",
"HID\VID_8087&PID_0AC2\6&27008A5&0&0000",
"HID\VID_8087&PID_0AC2\6&1529B94A&0&0000",
# Latitude 5540
"HID\VID_8087&PID_0AC2\6&24C9641&0&0000",
"HID\VID_8087&PID_0AC2\6&150646E6&0&0000",
"HID\VID_8087&PID_0AC2\6&DEDACA2&0&0000",
"HID\VID_8087&PID_0AC2\6&280D181D&0&0000",
"HID\VID_8087&PID_0AC2\6&15536778&0&0000"
)
# 各デバイスIDをループして、存在すれば無効にする
foreach ($deviceId in $deviceIds) {
# デバイスを取得
$device = Get-PnpDevice -InstanceId $deviceId -ErrorAction SilentlyContinue
if ($device) {
# デバイスを無効にする
Write-Host "ID $deviceId のデバイスを無効にしています。"
Disable-PnpDevice -InstanceId $deviceId -Confirm:$false
}
}
# 修復成功を示すコード0で終了
exit 0