【问题标题】:Powershell Script to automatically format externally connected drivesPowershell 脚本自动格式化外部连接的驱动器
【发布时间】:2017-12-03 21:07:30
【问题描述】:

我正在尝试编写一个脚本,该脚本在运行时会检测我添加的外部驱动器,然后对其进行初始化、分区和格式化。安全机制将是磁盘的“FriendlyName”,这对于我使用的所有磁盘都是相同的。我通常批量执行此操作,因此需要编写脚本以节省时间。

我想出了以下四行:

1: Clear-Disk -FriendlyName 'ST3000DM 2CS' -RemoveData -Confirm:$false    
2: Initialize-Disk -FriendlyName 'ST3000DM 2CS' -PartitionStyle MBR
3: New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter
4: Format-Volume -DriveLetter F -Confirm:$false

运行“Get-Disk”时可以看到“FriendlyName”

剪切和粘贴这些很好,工作就完成了。

两个问题:

1) 第 3 行和第 4 行指的是硬编码的 DiskNumber 和 DriveLetter。 DiskNumber 在执行第 2 行后分配。DriveLetter 然后在执行第 3 行时分配。我希望第 3 行和第 4 行更安全,并希望第 3 行专门针对第 2 行的结果执行 New-Partition(即取决于磁盘编号),第 4 行根据第 3 行的结果执行 Format-Volume(即取决于分配的驱动器号)。

2) 我想将所有这些都粘贴到一个 ps1 脚本中,以便轻松双击运行操作。

你能帮忙吗?

【问题讨论】:

    标签: shell powershell scripting


    【解决方案1】:

    Initialize-Disk 有一个开关参数-PassThru,当它被指定时,它会输出一个MSFT_Disk 类型的对象,它有一个Number 成员。你可以这样使用它:

    $disk = Initialize-Disk -FriendlyName 'ST3000DM 2CS' -PartitionStyle MBR -PassThru
    New-Partition -DiskNumber $disk.Number -UseMaximumSize -AssignDriveLetter
    

    但是,New-Partition 接受MSFT_Disk 对象作为输入,因此您可以将Initialize-Disk 的输出通过管道传输到New-Partition

    Initialize-Disk -FriendlyName 'ST3000DM 2CS' -PartitionStyle MBR -PassThru | New-Partition -UseMaximumSize -AssignDriveLetter
    

    同样,New-Partition 的输出可以直接通过管道传输到Format-Volume,因此您的整个脚本如下所示:

    Clear-Disk -FriendlyName 'ST3000DM 2CS' -RemoveData -Confirm:$false    
    Initialize-Disk -FriendlyName 'ST3000DM 2CS' -PartitionStyle MBR -PassThru | New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -Confirm:$false
    

    只需将其放入 ps1 文件中即可。

    【讨论】:

    • 先生,您是国王,谢谢!感谢您的广泛细分 - 顶级人物。
    • ps。我确实感到害怕;双击脚本时“客户端无法访问 CIM 资源”。如何提升管理员权限以防止这种情况发生?
    • 您可以在脚本开始时添加一些宣传以提示提升。见stackoverflow.com/questions/7690994/…
    猜你喜欢
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    • 2020-02-28
    • 2012-11-24
    • 1970-01-01
    相关资源
    最近更新 更多