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

寻求外接硬盘备份前后自动挂载与卸载的定时脚本解决方案

寻求外接硬盘备份前后自动挂载与卸载的定时脚本解决方案

Hey there! 我之前帮朋友搞定过一模一样的勒索防护需求,DriveEject确实有时候不太靠谱,咱们换用系统原生的PowerShell命令和工具,稳得很~

下面分脚本和自动化设置两部分给你拆解:

一、卸载外接硬盘的PowerShell脚本

这个脚本会先卸载盘符,再把磁盘设为离线,彻底切断系统和硬盘的连接,勒索软件根本碰不到它:

# 替换成你的外接硬盘卷标(比如"我的备份盘")
$targetLabel = "BackupDrive"

# 找到对应卷标的磁盘信息
$targetVolume = Get-Volume | Where-Object { $_.FileSystemLabel -eq $targetLabel -and $_.DriveLetter }
if ($targetVolume) {
    # 用MountVol卸载盘符(系统原生工具,比第三方工具稳定)
    MountVol "$($targetVolume.DriveLetter):\" /D
    Write-Host "已卸载盘符 $($targetVolume.DriveLetter):"

    # 找到对应的物理磁盘并设为离线
    $targetDisk = Get-Disk | Where-Object { $_.Number -eq $targetVolume.DiskNumber }
    if ($targetDisk) {
        Set-Disk -InputObject $targetDisk -IsOffline $true
        Write-Host "磁盘 $targetLabel 已成功设为离线,勒索软件无法访问啦!"
    }
} else {
    Write-Warning "没找到卷标为 $targetLabel 的在线磁盘哦"
}

小贴士:如果你的硬盘没有卷标,也可以直接用盘符替换,比如把$targetVolume的查找改成Get-Volume -DriveLetter "F:",更直接。

二、挂载外接硬盘的PowerShell脚本

备份前运行这个脚本,就能把离线的磁盘重新激活并分配盘符:

# 先通过Get-Disk命令查好你的外接硬盘编号(插入后看Removable属性的磁盘)
$diskNumber = 2
# 想要分配的盘符和卷标
$driveLetter = "F:"
$targetLabel = "BackupDrive"

# 把磁盘设为在线
Set-Disk -Number $diskNumber -IsOnline $true
Write-Host "磁盘 $diskNumber 已设为在线"

# 给分区分配盘符
$targetPartition = Get-Partition -DiskNumber $diskNumber | Where-Object { $_.Type -eq "Basic" -and !$_.DriveLetter }
if ($targetPartition) {
    Add-PartitionAccessPath -InputObject $targetPartition -AccessPath $driveLetter
    # 可选:设置卷标
    Set-Volume -DriveLetter $driveLetter[0] -NewFileSystemLabel $targetLabel
    Write-Host "已成功挂载到 $driveLetter,准备好备份啦!"
} else {
    Write-Warning "没找到可分配盘符的分区"
}

注意:第一次运行前,手动打开PowerShell(管理员身份)输入Get-Disk,找到你的外接硬盘编号,替换掉$diskNumber的值哦。

三、用Windows任务计划实现自动化

光有脚本还不够,咱们得让它在备份前后自动运行:

  • 备份前挂载任务:

    1. 打开「任务计划程序」,创建「任务」(比基本任务选项更全)
    2. 触发器选「在特定时间」(比如备份开始前5分钟),或者如果你的备份软件会生成事件日志,选「当特定事件被记录时」(更精准,比如部分备份软件开始前会有专属事件ID)
    3. 操作选「启动程序」,程序/脚本填powershell.exe,添加参数:-ExecutionPolicy Bypass -File "C:\Scripts\MountBackupDisk.ps1"(替换成你的脚本绝对路径,路径有空格的话要加引号)
    4. 切换到「设置」标签,勾选「不管用户是否登录都要运行」,并在「安全选项」里选「使用最高权限运行」(修改磁盘状态必须要管理员权限)
  • 备份后卸载任务:

    1. 同样创建新任务,触发器选「当备份完成的事件被记录时」(比如第三方备份软件备份成功后会生成事件),或者「在备份完成的时间点」触发
    2. 操作同样指向你的卸载脚本,同样要勾选最高权限运行

四、几个关键注意事项

  • 第一次运行脚本一定要右键选「以管理员身份运行」,测试是否能正常挂载/卸载,避免任务计划时因为权限不足失败
  • 脚本路径最好放在没有空格的目录里,比如C:\Scripts\,减少路径解析问题
  • 如果你用的是USB移动硬盘,离线后不需要拔插,下次运行挂载脚本就能直接激活,完全不影响备份流程

备注:内容来源于stack exchange,提问作者pabaxe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:13:02