題 為什麼在Windows中映射網絡驅動器不好?


我們的IT部門內部已經就映射網絡驅動器進行了一些激烈的討論。特別是,有人說,映射網絡驅動器是一件壞事,而且還在增加 DFS 路徑或網絡共享到您的(Windows資源管理器/庫)收藏夾是一個更好的解決方案。

為什麼會這樣?

我個人覺得方便 z:\folder 要好過 \\server\path\folder',特別是cmd行和腳本(當然我不是在談論硬編碼鏈接,當然!)。

我曾嘗試搜索映射網絡驅動器的優缺點,但除了“如果網絡發生故障,驅動器將無法使用”,我還沒有看到任何其他內容。但這是任何網絡訪問存儲的限制。

我還被告知,當網絡資源不可用時,映射的網絡驅動器會輪詢網絡,但是我沒有找到更多相關信息。網絡驅動器是否比Windows資源管理器庫/收藏夾更多地輪詢網絡?當Windows嘗試枚舉文件系統時(例如,打開文件/文件夾選擇器對話框時),這仍然不是其他網絡訪問機制(即映射的收藏夾)的問題嗎?


71
2018-02-23 23:41


起源


由於你所陳述的原因,我認為除了迷信和個人意見之外沒有任何其他真正的理由。 (所以我認為這是出於主觀原因的一個不好的問題) - Shinrai
Windows Server 2008 R2在組策略編輯器中支持映射驅動器,因此我冒昧地說,它的個人意見僅阻止了這一點。
@Shinrai - 感謝您的回复。我正在尋找技術原因而不是個人意見 - 因為我沒有意識到 - 所以我希望這不是主觀的。我認為它無論如何都是在引擎蓋下的所有相同的機制,只是以不同的方式呈現給用戶。 - Beeblebrox
@foocode - 我與你完全同意,我認為他們只是愚蠢。我能想到的唯一可能的反對意見是,一些編寫得不好的軟件可能會將它們視為本地驅動器,在這種情況下,您為什麼要使用該軟件?他們只是迷信,你做任何你想做的事。 (就個人而言,我沒有映射我的驅動器,但那隻是我) - Shinrai
某些公司/客戶要求使用一些寫得不好的軟件(會計軟件)。 - LawrenceC


答案:


我想沒有映射網絡驅動器的最強大的原因是管理員不想處理除了網絡路徑之外維護有限數量的驅動器號的索引的麻煩。首先,可能有太多常用的網絡共享來為所有這些共享驅動器號,而在大型組織中,並非每個人都可以訪問所有相同的共享。共享名稱也更具描述性,並且可能不如驅動器字母更模糊(稍後更多關於模糊性)。

其次,您可能遇到驅動器盤符衝突。如果有人的PC有一個存儲卡讀卡器,那可能會吞噬四個或更多驅動器號。 A和B通常保留用於上個世紀的軟盤驅動器,C和D通常保留用於硬盤驅動器和光盤驅動器,因此讀卡器將使用E,F,G和H.如果您的其中一個網絡驅動器通常映射到H:通過登錄腳本,這個可憐的人要么不能使用讀卡器的H:驅動器,要么無法安裝網絡驅動器。

除非組織內的某人負責為特定目的分配驅動器號,否則網絡驅動器最終也可能導致很多混亂。例如,假設您將驅動器S:映射到具有所有站點許可軟件的安裝程序的共享,並且其他人將S:映射到共享驅動器,在那裡它們刪除所有類型的共享文檔。當您嘗試解釋如何安裝某些軟件時,您告訴他們打開他們的S:驅動器並找到Microsoft Office的安裝程序,但他們找到的只是一個名為的文件夾 辦公室,其中包含一些雜項文件,有人放在那裡進行臨時文件傳輸。可能需要5到10分鐘才能解決困惑。

如果服務器出現故障或者計算機脫離網絡,還存在一些潛在的性能問題。例如,如果您在計算機上映射網絡驅動器,然後從網絡中刪除計算機(可能是筆記本電腦),則在Windows嘗試無法掛載丟失的網絡驅動器時,計算機可能會在登錄時掛起。

另一方面,在舊版本的Windows上,我注意到傳輸到映射網絡驅動器或從映射網絡驅動器傳輸的文件通常比瀏覽到網絡文件夾並執行相同文件傳輸要快得多 - 在這種情況下,大多數情況下人們更願意映射網絡驅動器。


64
2018-02-24 01:17



感謝您的投入。我想像現有的“土地規則”:沒有映射驅動器可以阻止用戶群造成這些問題。 - Beeblebrox
+1表示由不同用戶將驅動器映射到不同位置引起的混淆。我被用戶告知過 許多 他們將文件放在“Z:\”驅動器上並且不得不花費一個時間來確定他們的特定Z驅動器映射的位置。也許不是技術問題,但它肯定是一個組織問題。 - Steve Homer
我已將此答案標記為已接受的答案,因為它涵蓋了使用映射驅動器的根操作/實際方面,而不是特定情況(即依賴問題)和理論缺點(即上面與安全相關的大討論)。謝謝@rob! - Beeblebrox
另一個巨大的缺點是,一旦你開始這條路,任何引用“Z”驅動器的電子郵件鏈接如果你刪除映射的驅動器將會中斷。另一個嚴重的缺點是,如果刪除了映射的字母,跨越多個文件(如CAD文件)的文件將完全中斷!這是因為依賴文件加載了驅動器號而不是UNC路徑。由於這些問題,我們在他的公司裡被困在他們身邊。負面影響遠遠大於節省一些鼠標點擊的“便利”因素。 - Lee Harrison
已經提到過,如果沒有人負責分配驅動器號,它會很快混淆,但我想提一下,如果驅動器號實際上是集中分配的,它們可以非常方便。簡單的例子:每個人都可以通過驅動器M訪問他們的私人文件共享,公司通用文件共享通過驅動器N ...並且所有項目文件夾都位於驅動器P中。但是,應該注意這種做法在那裡是最有用的是簡單用戶需要訪問的有限數量的驅動器。否則,他們必須學會使用2個系統。 - Dennis Jaheruddin


簡單的答案是,這不是一件壞事。網絡驅動器作為驅動器映射是完全安全的。

迷信來自於你不應該映射的事實 國外 (即Internet)驅動為本地驅動器,因為從映射驅動器打開的文件是使用“本地”區域打開的,這通常會為它們提供較少的保護 - 如果文件實際來自Internet,則會降低安全性。

如果,正如我懷疑的那樣,你實際上是映射intRA網絡驅動器,然後打開文件夾作為映射驅動器與通過其網絡路徑名訪問它們完全一樣安全。唯一的區別是將它們映射更方便。


58
2018-02-24 00:23



這是與映射相關的安全問題的非常好的描述。謝謝你的貢獻! - Beeblebrox
如果您正在運行自動作業,則網絡共享不能完美共享以映射為驅動器的情況。映射的驅動器加載了帳戶的配置文件。如果未加載用戶的配置文件,則這些映射的驅動器將不存在。 - Ian Boyd


根據我的經驗,它主要圍繞編寫糟糕的軟件。

如果人員A處理映射到的一組文件 G:,然後人B嘗試使用映射到的相同路徑打開同一組文件 H:事情失敗了。

如果你使用UNC路徑,那麼假設人A和人B的計算機都可以看到共享點,一切都會正常工作。


當然,理想的解決方案是使用不使用絕對路徑存儲文件關係的軟件,但這不是您可以隨時控制的。

CAD / CAM市場上的許多軟件編寫得很糟糕,而且幾乎沒有任何工作。由於市場相當小,競爭壓力很小。我知道至少有一個軟件存在絕對路徑問題 最後5 主要版本,儘管向公司報告了問題,但它們仍然沒有固定。


15
2018-02-24 03:38



“理想的解決方案是使用不使用絕對路徑存儲文件關係的軟件” - 最常見的問題是人們不是程序執行此操作。 - MSalters
@MSalters - 告訴你什麼。您說服整個軟件行業重寫其大部分軟件。 - Fake Name
@Fake Name,我認為他是指使用這些程序的用戶。 I.E.在文檔H:\ mystuff而不是\\ myserver \\ mystuff中放置一個鏈接 - Dalin Seivewright
@Dalin Seivewright - 這似乎假設您可以手動設置鏈接。在我看過的很多軟件中,如果主文檔在 H:,相關文件將自動存儲使用 H: 你是否想要他們。 - Fake Name
@CADbloke - 沒有!這是Altium Designer。我很確定這種行為在專業軟件市場上非常普遍。 - Fake Name


我工作的網絡驅動器存在嚴重問題,因為有時Windows無法連接到它們,而且似乎  程序嘗試訪問網絡驅動器時自動連接網絡驅動器。

來自會計的用戶至少打了半打,因為她得到了同樣的錯誤。這是因為她打開了程序X,它正在使用映射在網絡驅動器Y:上的文件,並且由於一些不可思議的原因它沒有連接。


12
2018-02-24 07:13



這聽起來真的很痛苦。這通常會發現是用戶錯誤,即驅動器最初是由管理員帳戶映射的,因此需要不同的權限,或者“重新啟動時自動映射驅動器”未被取消?當我斷開驅動器然後嘗試重新連接時,我只遇到過問題。它聲稱我有超過1個開放連接。可能是一個SAMBA問題。 - Beeblebrox
@foocode我不確定第一個(但用戶確實有權限)並且驅動器設置為在啟動時連接...它只需要一段時間。在幾分鐘內。有時它只會在你連接時連接 在Windows資源管理器中手動訪問它 不幸的是,我必須教導用戶做什麼。 - Ben Brocka
@BenBrocka我也遇到過這個問題。出於某些不明原因,Windows在啟動時重新連接映射驅動器需要很長時間。 - user555


我懷疑IT人員擔心一個用戶映射網絡驅動器,而不是他們擔心一百個用戶或一千個用戶。例如,如果一堆主機同時啟動網絡驅動器或驅動器的搜索索引,那將如何影響其他嘗試使用網絡的人?當網絡驅動器不可避免地脫機時,它會鎖定數百台機器,直到操作系統放棄並丟棄驅動器映射?如果無法重新建立與映射驅動器的連接,PC會不會啟動,啟動速度會更慢或者無法完全啟動?


9
2018-02-24 00:38



這種思路通常會將不同的非技術因素帶入等式中。需要通過IT進行適當的規劃,以避免出現問題。如果它有幫助,對於特定情況我基於我的問題,用戶無法安裝程序或修改應用程序設置。我希望問題更多的是“從技術角度來看,什麼是最好的選擇;在輕鬆訪問網絡共享方面的庫/收藏夾或映射驅動器。 - Beeblebrox
但是,你提到的東西會很糟糕。 :) - Beeblebrox
這是我想到的唯一原因:映射驅動器意味著如果無法找到它,資源管理器將拋出適合。當你有3個以上的網絡驅動器映射時,即使打開資源管理器也可以真正減慢它 - styfle
從Windows XP開始,驅動器映射是特定於logonsession的,因此它們不會減慢啟動過程的速度。而AFAIK,如果網絡共享在被訪問時脫機,它將以相同的方式影響客戶端,無論它是通過字母還是UNC路徑訪問。 - grawity


\ server \ dir語法的一個問題是命令窗口無法cd到它們。如果您具有管理員權限但不想使用驅動器號,則可以使用mklink命令將驅動器裝入目錄而不是驅動器號。目錄Home不應該存在。

mklink / d“c:\ Drives \ Home”“\ server \ HomeFolder \ user1”

所有內容都可以使用此文件夾。

安裝到驅動器可能會很糟糕,因為它可能會更改為另一個安裝點。然後你正在閱讀和寫一些你不期望的東西。如果掛載點的可執行文件發生更改,則它們可能包含病毒。

我的解決方案需要管理員權限,因此如果您沒有使用管理員權限運行,則更安全,因為沒有管理員權限,其他程序無法更改您。


6
2017-10-24 17:38



澄清; 1.Windows Batch cmd.exe給出錯誤“CMD不支持UNC路徑作為當前目錄”。 ; 2.Windows Powershell支持“set-location myUNCpath”就好了。 - AnneTheAgile


這是一個很好的理由:

Windows(至少XP)不支持超過256個字符的文件路徑。映射允許某人通過縮短路徑來添加其他不可能的文件。然後你有一個程序瀏覽所有文件和文件夾,並且不知道映射。沒有映射,現有文件的路徑長度大於256.程序崩潰。


4
2018-02-24 18:10



好的程序在打開文件失敗時不會徹底崩潰。如果他們這樣做,它將在域環境中創建許多問題,其中文件受ACL限制。 (另外,從技術上講,如果使用`\\?`前綴,Windows可以支持最多大約32767個Unicode字符的路徑。) - grawity


許多軟件,包括各種版本的Microsoft Visual Studio和CMS Bounceback,只能使用驅動器號,而不能使用絕對路徑。鑑於此限制,然後使用任何此類軟件需要您定義驅動器號 - 您別無選擇。但Windows並沒有讓這很容易,因為它似乎要求用戶ID和密碼,但Windows中只允許一個用戶ID和密碼用於與任何一個網絡設備的所有連接(例如多個磁盤和打印機)。


4
2017-09-17 12:40



這在跨平台開發軟件中也很常見。例如,Intellij / PhpStorm不支持​​Window的UNC路徑,因此映射的驅動器是唯一的非本地驅動器選項。當然還有FTP,但不是那麼快。 - Beeblebrox