與舊版Windows的SMB連線設定

打從SMBv1被發現安全性問題, 加上工作筆電改用新版Windows 10(另外包含新的版伺服器版Windows Server也是)預設不啟用SMBv1, 就發現在工作上使用遠端桌面要連結一些測試PC或VM時, 或是要在遠端桌面環境要複製貼上檔案, 或甚至要用網路芳鄰, 只是遠端是較舊版的Windows就會失敗

Windows設定界面

原本也是知道這就是SMB版本不通的緣故, 但一直不想去好好處理它, 總是用一些其他方式, 像是找第三台PC做為轉跳, 或是在新系統上把上面這個 SMB 1.0/CIFS檔案共用支援 打開, 就可以再享有往日的便利了。

不過日子久了, 想想還是顧及一些安全性的好, 今日就找到官方這份說明:

不過我不得不說這個中文翻譯真的有個大問題, 若你英文還可以, 還是推薦你看英文版的好點。中文版中對SMBv2都會加上 弱點 二字, 如果去看英文版的其實這裡都沒有這內容, 若是不察還真是會被誤導。

中文翻譯說明

這份文章說明了各代Windows 上可以如何查詢及開或關SMBv1。設定方式隨各代Windows各有不同, 分別有PowerShell、使用者界面、Registry或是Command shell, 以下以Command shell來介紹, 其他方式可參考以上連結說明文章。

首先可先查一下原始狀態

sc.exe qc lanmanworkstation

查出來的結果大致如下, 其中紅框處可以看到目前系統支援哪些種類, 或者更該說是否有禁用SMBv1, 如果有看到MRxSmb10就表示SMBv1還開啟著。

查詢狀態

我的筆電是Windows 10, 查詢結果如上圖一致, 但測試用的VM是Windows 7, 上面紅框處會多一個MRxSmb10。想來應該是在做遠端連線時, Windows 10想著自己不接受SMBv1, 看到對方Windows 7 還有SMBv1, 也不管它是不是有SMBv2或SMBv3, 就不想與人家往來。

若是要 開啟 SMBv1, 就如下

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto

若是要 關閉 SMBv1, 就如下

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料