Powershell : Map a New Network Drive and show in external environment(File Explorer).

有使用過Dos Command的應該都是知如何建立網路磁碟機。

Net use z: \\Fileserver\XXX

這很方面可以做成Script放在很多地方也行之有年了。
但是對於Powershell有偏執的,盡可能都會希望可以使用PS來執行一切的工作。

使用New-PSDrive可以建立網路磁碟機

New-PSDrive -Name Z -PSProvider FileSystem -Root "\\Fileserver\XXX" -persist

但是,指令下完之後,檔案總管沒有任何動靜,在Powershell的視窗內去輸入Z:又能看到,使用Get-PSDrive,也能看到Z。原來是因為Powershell預設建立的網路磁碟機只能用在這個Session內,外面的世界(檔案總管….)是看不到的而且也不永久的。

我一開始以為-Persist,這個參數是可以讓PS所建立的磁碟機顯現出來,無奈怎麼試都沒有辦法。

找了一陣子終於被我發現,原來是另外一個參數 -Scope,所以實際上應該要把上面的只改成如下

New-PSDrive -Name Z -PSProvider FileSystem -Root "\\Fileserver\XXX" -persist -Scope Global

這樣,外面的世界就能夠看的到了。