【PowerShell】ネットワークドライブ自動作成
こんにちは。海野です。
先日は色々な方のご協力をいただいて再度インターネットの凄さが身に沁みました。私の思考の掃き溜めみたいなものにも反応をいただけると嬉しいものですね。今後ともゆるりとよろしくお願いいたします。
さて、今回は”csvで読み取ったネットワークドライブを自動作成してくれるスプリクト”を作成していこうと思います。
検証環境はWin10 22H2になります。
まずnetdrive.csvに図のような情報を用意します。
動作としてはPC1というコンピューター名のパソコンがスプリクトを実行したときドライブ名Zで\\192.168.1.15をパスにして追加する、というスプリクトを作成していきます。
![](https://assets.st-note.com/img/1700435124585-nd2Oqre0Zj.png)
スプリクトはこのように記述しました。
#実行ポリシーの変更
Set-ExecutionPolicy -Scope Process -ExecutionPolicy AllSigned -Force
#任意のcsvから自身のcomputernameのオブジェクトを引っ張ってくる
$array=Import-Csv C:\netdrive.csv -Encoding Default| where-object {$_.computername -eq $Env:Computername}
#資格情報オブジェクト
$cred = Get-Credential -Credential Contoso\ServiceAccount
#netdrive.csvの中の先頭セルを読み込ませる
ForEach ($netdrive in $array){
New-PSDrive -Name $netdrive.driveName -Root $netdrive.targetPath -PSProvider "FileSystem" -Credential $cred -Persist
}
#ネットワークドライブの表示
Net Use
#画面をポーズする
if ($psISE) {
Read-Host Enterキーを押してください。
} else {
Write-Host 何かキーを押してください。
$host.UI.RawUI.ReadKey()
}
実行すると資格情報の画面が開くのでユーザーを選択し
パスワードを入力します。
![](https://assets.st-note.com/img/1700435998424-6E42tCIOKF.png)
無事にネットワークドライブが作成されました。
資格情報マネージャーを開かせる以外にユーザー名パスを自動で入れようとも考えているのですがちょっと上手くいかないのでまた検証します。
閲覧ありがとうございました。