2017-06-30 6 views
1

実行時に追加した外付けドライブを検出して初期化、パーティション分割してフォーマットするスクリプトを作成しようとしています。安全機構は、ディスクの「FriendlyName」になります。これは、使用するすべてのディスクで同じです。私は通常これを一括して行うので、時間を節約するためにスクリプトを作成する必要があります。Powershellスクリプトを使用して外部から接続されたドライブを自動的にフォーマットする

私は次の4本のラインを作ってみた

:あなたは

カッティング "-ディスク取得]を、これらは、仕事結構です貼り付ける実行したときに「フレンドリ」を見ることができます

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 

終わる。

2つの問題:

1)行3および4は、ハードコードDiskNumberとドライブ文字を指します。 DiskNumberは2行目の実行後に割り当てられます。3行目の実行時にDriveLetterが割り当てられます.3行目と4行目がよりフェールセーフになり、3行目に特に2行目の結果に新しいパーティションを実行させたい行番号3の結果に基づいて(つまり、割り当てられたドライブ文字に応じて)Format-Volumeを実行するための4行目。

2)これをPS1スクリプトに貼りつけて、ダブルクリックで簡単にアクションを実行したいです。

お手伝いできますか?

答えて

0

Initialize-Diskは、指定された場合、Number部材を有するタイプMSFT_Diskのオブジェクト出力にそれを引き起こす、スイッチパラメータ-PassThruを有しています。あなたはこのようにそれを使用することができます。

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

しかし、New-Partitionは入力MSFT_Diskオブジェクトとして受け入れ、あなたができるのと同じパイプNew-PartitionInitialize-Diskの出力:同様

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

New-Partitionの出力ができますに直接パイプすると、全体のスクリプトは次のようになります。

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ファイルに入れておきましょう。

+0

あなたは王様です、ありがとうございます!大規模な内訳 - トップマンに感謝します。 –

+0

ASR –

+0

psにも感謝しています。私は恐怖を感じる。スクリプトをダブルクリックすると、「CIMリソースへのアクセスがクライアントに利用できませんでした」。これを防ぐために管理者権限に昇格するにはどうすればよいですか? –

関連する問題