You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Adaptec RAID 6805/6805Q控制器UEFI模式启动异常的PowerShell脚本问题

Adaptec RAID 6805/6805Q UEFI启动错误代码10的PowerShell自动修复方案

以下是针对你的需求优化的PowerShell脚本,解决变量未识别、无法访问ConfigManagerErrorcode属性的问题,实现仅在设备启动失败时执行禁用再启用操作:

完整修复脚本

# 定位Adaptec RAID 6805/6805Q控制器设备(可根据实际设备友好名称调整通配符)
$raidDevice = Get-PnpDevice -FriendlyName "*Adaptec RAID 6805*" -ErrorAction SilentlyContinue

# 检查设备是否被找到
if ($raidDevice) {
    # 确保获取到ConfigManagerErrorCode属性(错误代码10对应"设备无法启动")
    $errorCode = $raidDevice.ConfigManagerErrorCode

    Write-Host "当前设备错误代码: $errorCode"

    # 仅当错误代码为10时执行修复操作
    if ($errorCode -eq 10) {
        Write-Host "检测到设备启动失败,开始执行禁用/启用修复..."
        
        # 禁用设备(-Confirm:$false跳过确认提示)
        Disable-PnpDevice -InstanceId $raidDevice.InstanceId -Confirm:$false -ErrorAction Stop
        # 短暂等待确保设备完全禁用
        Start-Sleep -Seconds 1
        # 启用设备
        Enable-PnpDevice -InstanceId $raidDevice.InstanceId -Confirm:$false -ErrorAction Stop

        Write-Host "设备修复完成"
    } else {
        Write-Host "设备运行正常,无需修复"
    }
} else {
    Write-Host "未找到目标Adaptec RAID控制器设备,请检查友好名称过滤规则"
}

关键问题解决说明

  1. 无法访问ConfigManagerErrorCode属性:
    默认Get-PnpDevice不会返回所有属性,通过直接引用$raidDevice.ConfigManagerErrorCode即可获取(无需额外参数,PowerShell会自动读取该属性)。如果仍无法获取,可在Get-PnpDevice后追加| Select-Object InstanceId, ConfigManagerErrorCode, FriendlyName强制指定返回属性。

  2. 变量未识别问题:
    确保脚本中变量拼写一致,且Get-PnpDevice能正确匹配到设备。若友好名称过滤不准确,可改用硬件ID精准定位:

    • 打开设备管理器→找到RAID控制器→属性→详细信息→硬件ID,复制对应的ID(如PCI\VEN_9005&DEV_0285)
    • 将脚本第一行替换为:$raidDevice = Get-PnpDevice -HardwareId "PCI\VEN_9005&DEV_0285" -ErrorAction SilentlyContinue
  3. 开机启动配置:
    将脚本保存为.ps1文件,通过任务计划程序创建开机触发任务,需勾选使用最高权限运行,避免权限不足导致操作失败。

内容的提问来源于stack exchange,提问作者BBiller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:27:31