文章目錄
net use 指令出現 error 2148073478
同事反應 Jenkins 沒辦法順利將 CI build 的檔案部署至遠端,確認過資料夾權限、robocopy 語法一切正常後,發現原來是 net use
指令的權限問題,就來看看問題內容與解決方式吧
Jenkins 錯誤訊息
訊息內容
2017/08/07 17:18:01 ERROR -2146893818 (0x80090006) Creating Destination Directory \\192.168.31.31\D$\ Invalid Signature.
錯誤截圖
錯誤訊息
訊息內容
System error 2148073478 has occurred.
錯誤截圖
問題發生原因
特定環境
- Windows Server 2012
- Windows 8
發生原因細節
問題是由 Windows Server 2012 與 Windows 8 新增至 SMB 3.0 的 “Secure Negotiate” 功能會讓 SMB v2 servers 回應錯誤
解決方式
啟用 file server 的簽章 ( PowerShell 語法)
Set-SmbClientConfiguration -RequireSecuritySignature $true
我沒有 file server 試不出這個指令的效果
關閉 client 端的 “Secure Negotiate”
- 微軟官方不建議這個做法,可能會有其他資安風險
PowerShell 語法
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 0 -Force
其他注意事項
我設定兩台電腦,有一台需要重啟才生效,有一台不用
設定完成
心得
好一陣子沒有 server 的管理權限,設定上也生疏不少,這個問題印象中也遇到,但總是回想不起來怎麼解決,最後還是查了資料才找到解法
另外也想不通為什麼設定會不見,不知道是不是更新造成的;雖然花了一點時間重新設定,但也藉機紀錄一下
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。