iT邦幫忙

1

net use 批次檔 記錄密碼明碼問題

新鮮肝 9 月前4867 瀏覽

因為沒有AD Server
所以我寫了一個批次檔打算用來快速設定網路磁碟機,想用來取代"連線網路磁碟機的設定步驟,登入時重新連線+帳號密碼+記住我的認證"

net use S: "\\10.10.10.10\scanfile" a123456! /user:"WS-2003\administrator" /persistent:YES

但是卻遇到了一個問題,就是重開機之後會跳出密碼輸入視窗,而且/savecred指令也沒辦法使用,想請教是否有解決方式,謝謝。

門神JanusLin iT邦大師 1 級 ‧ 9 月前 檢舉
該不會是Home版 ?

2 個回答

2
蟹老闆
iT邦大師 1 級 ‧ 9 月前
最佳解答

可以改成這樣就不會將密碼顯示在畫面上

@net use S: "\10.10.10.10\scanfile" a123456! /user:"WS-2003\administrator" /persistent:YES

但這有個問題,當第二次連線時會出現錯誤訊息,因為S:已經被使用了,在連線前可以先用net use /del S: /y 來刪除指定的網路磁碟.
如果是因為某些因素造成無法記憶密碼可以試試底下的指令,讓系統將網路密碼記憶起來.

cmdkey /add:10.10.10.10 /user:administrator /pass:a123456!

這個指令在Windws 7以上的系統才有

看更多先前的回應...收起先前的回應...
新鮮肝 iT邦新手 5 級 ‧ 9 月前 檢舉

我可能不是很能理解 cmdkey 這個指令的用法,試著打了之後得到:
CMDKEY: 無法從這個登入工作階段儲存認證。
嘗試著把 /add 改成 /generic 有建立成功,雖然不清楚差在哪
但是嘗試連線(打\10.10.10.10)依然會跳出提示對話框http://ithelp.ithome.com.tw/upload/images/20161219/20103845yP91J7a2LW.jpg

而且在依然使用 NET USE設定 並且重開機之後,仍然會跳出需要輸入密碼才能再度連線的提示對話框

為什麼手動點選操作連線網路磁碟機就可以不用再輸入密碼呢?
"記住我的認證"又到底是記錄到哪裡呢??

蟹老闆 iT邦大師 1 級 ‧ 9 月前 檢舉

關於net use 的部份

net use S: "\10.10.10.10\scanfile" a123456! /user:"WS-2003\administrator" /persistent:YES

指令下錯了,請改成

@net use S: "\\10.10.10.10\scanfile" /user:"administrator" a123456! /persistent:YES

您附的圖已說明帳號密碼有誤喔,如果帳號密碼無誤,請檢查主機或Client端的時間是否有誤,若無,請將降低主機的驗證層級,若還不行,那可能需要查問題.
密碼存在哪?用簡單的說法是存在這個位置
精準的說法應該是 c:\users\帳號\NTUSER.DAT(Vista 以上)

nolem iT邦新手 5 級 ‧ 9 月前 檢舉

找一個工具把bat轉exe就好

nolem iT邦新手 5 級 ‧ 9 月前 檢舉
蟹老闆 iT邦大師 1 級 ‧ 9 月前 檢舉

Bat2Exe 還滿不錯用的,之前也是用這個在轉但不知道是我下載的版本有問題還是怎麼的,都會被防毒誤判為病毒,Bat2Exe 執行方式是將BAT解到暫存檔然後執行批次檔,所以沒有將指令隱藏還是會出現密碼的資訊.

terryliu iT邦新手 5 級 ‧ 2 周前 檢舉

它的確會被誤判,放到白名單就不影響了...
包成 exe 檔,不要顯示指令執行的過程,不就不會顯示密碼了?
(除非你刻意在執行到一半時,在另一視窗去撈它解出來的批次檔)

1
wwx
iT邦研究生 1 級 ‧ 9 月前

/persistent:YES 的用意
就是當系統重新開機自動恢復網路磁碟機的對應,
所以重新開機後又去下net use指令
才會出現(跳出密碼輸入視窗)的狀況!

如果想要每次開機都靠執行批次檔去連結網路磁碟機,
應該用 /persistent:NO 的方式

而對目前已存在且設/persistent:YES的網路磁碟則須先刪除
例如:
net use S: /d

看更多先前的回應...收起先前的回應...
新鮮肝 iT邦新手 5 級 ‧ 9 月前 檢舉

一路嘗試到現在才發現其實我把兩個問題給混淆了,真是對不起大家。
不過至少密碼名碼的部分透過轉exe然後放在啟動解決了問題,這真是太好了!

不過另一個延伸問題還是沒解決就是了...
明明是照著 net use drive: \\HOST\資料夾 /user:administrator password 的指令下去寫的

但是不管怎麼改都沒辦法一次到位,難道net use就一定要每次開機都執行一次嗎?而且還要先刪除再建立連線...

試著不加入/persistent 每次重開機之後,依然還是顯示無法連上網路磁碟機...
但是 /savecred 又不能和password指令共存在一起

以手動介面建立網路磁碟機為什麼就可以只設定一次就可以達成 重開機後自動連線 + 密碼記錄
而 NET USE 就非得讓其自動執行n次不可呢?
莫非微軟的手動設定介面有什麼特殊的指令存在嗎?

wwx iT邦研究生 1 級 ‧ 9 月前 檢舉

在你手動用介面可以完成連線時,刪除後用net use /persistent:YES 一定也是可以的,而且重開後也不用再批次執行net use會自動恢復連線,跟手動介面是相同的....

看看所說問題是否是因為重開之後批次執行的時間點安排在網路還未備妥之前就執行了? 那麼要調整到網路備妥之後才執行應該就好了

新鮮肝 iT邦新手 5 級 ‧ 9 月前 檢舉

在歷經了多種組合交互測試分析之後,問題終於解決了...
首先是密碼無法紀錄的問題
我在文中有提到 我無法使用 cmdkey 的 /add 參數 只能用 /generic
至於不能使用的原因是安全性原則被啟用了的緣故,預設是關閉的
http://ithelp.ithome.com.tw/upload/images/20161223/20103845SS1C8fB3kp.png
http://ithelp.ithome.com.tw/upload/images/20161223/20103845HVWR7AXtdP.png
將原則給關閉,並將批次檔調整後

cmdkey /add:10.10.10.10 /user:administrator /pass:a123456!
net use S: \\10.10.10.10\scanfile /persistent:YES

一鍵連接網路磁碟機的批次檔終於完成了,而且我還可以將這兩行轉成exe檔,就不怕密碼外漏了,真是可喜可賀!
再次感謝所有人員的協助,謝謝。

wwx iT邦研究生 1 級 ‧ 8 月前 檢舉

只是提醒一下如蟹老闆所言,轉成com/exe檔密碼並沒有隱藏,
用HEX編輯器甚至只用記事本直接把執行檔開啟來看就能發現密碼還是看的到的!
執行檔頂多相當於批次檔有先echo off而已~

可用加殼軟體將執行檔加密一次才能有隱藏的效果,至少要會脫殼的才能解出來看。

然後看起來需求上並不需要用到cmdkey這個指令,那麼就也無需去調整安全性原則...
本來帳密在net use時就能指定了~
蟹老闆只是提供可把密碼存起來讓net use時可以不用指定帳密的方式,但既然每次批次檔都在用cmdkey,那們就跟net use直接指定帳密是一樣的了~

蟹老闆 iT邦大師 1 級 ‧ 8 月前 檢舉

如WX所言不需要NET USE 後又使用CMDKEY,這二個是二擇一使用的,如CMDKEY可將密碼記憶起來就不需NET USE

蟹老闆 iT邦大師 1 級 ‧ 8 月前 檢舉

更正 "如WX所言" -> 如WWX所言

新鮮肝 iT邦新手 5 級 ‧ 8 月前 檢舉

我在網路上找到用autohot將這兩段程式碼compiler成exe的方法,請問如果是這樣子的話是否還會有被解開的可能?

wwx iT邦研究生 1 級 ‧ 8 月前 檢舉

不確定所說的ahk是設計成怎麼用,一般而言ahk只是跑腳本的工具,在這裡大概就是幫忙跑批次檔,那麼代表批次檔還是原封不動,所以打開批次檔一樣看到內容

上面ahk的方式可以試試把拼次檔檔名改一下,看ahk是不是就會出現檔案找不到的訊息就能了解意思了~

同樣的,如果先bat2exe弄成執行檔,再用ahk呼叫,那麼那個看得到密碼的執行檔也是必須存在,與前面的說明是一樣的道理,打開檔案就看得到密碼

然後是ahk產生的執行檔,也是直皆可以看到裡面原始來源.ahk內寫的腳本內容

附加說明: bat2exe將批次檔轉成執行檔後,原本的.bat是可以砍除不用留著,和ahk只是幫跑腳本是不一樣的

我要發表回答

立即登入回答