iT邦幫忙

0

網路磁碟自動重連未即時顯示

p04210421 2 周前2648 瀏覽

各位大大好
因為本公司網路磁碟比較多,而每個權限都不一樣,
有時候會發生錯誤無法連線或要重整的情況
為了讓使用者方便可以自己處理,於是寫了自動重新連線的CMD
步驟就是 刪除所有網路磁碟 > 連線所有網路磁碟(自動用登入帳密)
例如 @net use I: /delete /y
@net use I: "\192.168.1.3\公用區" %UserName% %password%

這樣有權限就會連線,沒權限的就會自動刪除
使用者也只要點兩下就好
重整重連算很方便

但發現程式跑完後確實有完成作業,磁碟代號也都有顯示出來
而在「我的電腦」裡面卻看不到,不然就是要過非常久才會顯示出來
想請教各位這種情況該怎麼處理?? 有即時更新的功能嗎??
F5也沒用,現在只知道登出或重新開機...

以下為未連接任何磁碟狀況
http://ithelp.ithome.com.tw/upload/images/20170711/20091324PtTFt9uu4Z.jpg
使用程式後有連線,但畫面卻沒顯示...
http://ithelp.ithome.com.tw/upload/images/20170711/20091324weUf6GmlCJ.jpg

看更多先前的討論...收起先前的討論...
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
測試後發現「純cmd」檔案沒有問題,
因為有加入錯誤通知的功能,所以包裝成exe檔案,看起來比較不會亂,
而exe檔案就會發生這樣的問題....
cmd跟exe不是一樣嗎?? 執行都沒出錯
喬可 iT邦新手 4 級 ‧ 2 周前 檢舉
檢查是不是UAC沒關,或是說,沒有以 "用使用者管理身份執行".
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
UAC有關,有使用管理者身分,且本身帳號也是最高管理者...
謝謝你撥空回答
CalvinKuo iT邦大師 8 級 ‧ 2 周前 檢舉
我只想問一句,該不會沒架AD吧...
預算許可,建議在Lab做AD試試。
一般做法 每個部門一種登入Script,其他的用捷徑或自行連線網路磁碟機....
不然這種密碼用CMD上得真的沒啥安全性,檔案打開編輯鎖定還找不到人罵... 因為帳號密碼都一樣... 分享資料夾中加密勒索病毒第一時間會找不到事主。
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
有AD啊,$是變數,系統會自己偵測,不是固定的
((不過好像多此一舉,因為本身有AD 哈哈哈
窮嘶發發發 iT邦高手 1 級 ‧ 2 周前 檢舉
既然是要重建為什麼不用這個指令 net use * /delete /y 呢,你怎麼知道你一個一個下,會不會有某個路徑沒有卸載
第二個,有AD 那為什麼建網路磁碟機還需要打 USERNAME 跟 PASSWORD
預設沒有權限,那就無法建立啊,多此一舉
建議樓主簡化一下批次檔的指令,多打多錯啊
另外你的指令怪怪的 正確應該是 net use X: \\IP\路徑 => 這樣才對
還有建議不要用 IP 要用 SERVERNAME 會比較方便,除非你的SERVERNAME 是不雅名稱
不然幹嘛不用呢 ?
小成 iT邦高手 10 級 ‧ 2 周前 檢舉
同意三發大說的,有AD就不需要打帳密,另外為了避免日後的各種麻煩,應該要盡量避免用IP直接連。

我的問題還有一個,你包成EXE是怎做的?

如果有AD,我會建議就直接在GPO做登入的時候執行BAT就好了....
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
窮嘶發發發:對...我最近整理才發現做了很多沒意義的事情,
net use X: \\IP\路徑 => 這樣才對 ((這邊沒複製好,程式碼確實是\\IP\
以前公司是用SERVERNAME,換了NAS後...IP只有一個也能用 SERVERNAME嗎??
謝謝提供net use * /delete /y 這個我沒想到過 感恩^^
PS.我發現問題了,轉成exe不能勾選「加入管理員身分」,加入後就會出錯
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
小成:就bat to exe的小工具,因為要加入通知功能,所以才包裝成exe檔
不使用GPO有幾個原因
1. Win10電腦有些不受控制 ((AD server版本沒升級
2. 要加入通知的功能(寄送mail),要在client端處理一些事情,GPO...沒研究做不做得到
3. 前公司碰到電腦效能不佳,USER看到會直接關掉,導致流程執行不完全而出錯
PS.我發現問題了,轉成exe不能勾選「加入管理員身分」,加入後就會出錯
小成 iT邦高手 10 級 ‧ 2 周前 檢舉
果然是這個原因....

【加入管理員身分】應該就是相當於在執行檔上按右鍵選擇【以系統管理員身分執行】吧。

這邊你要了解一下,一般使用者操作的桌面,跟用系統管理員身分執行,會是不同的工作階段,所以如果你用【系統管理員身分】來做網路磁碟機的連線與磁碟機代號對映,這些就只會在【系統管理員身分】的工作階段中可以使用。
所以使用者正在操作的這個工作階段,實際上是根本沒有連線網路磁碟機的,包括刪除跟連線都是沒有的,所以當然看不到。
網路磁碟機的連線是各個工作階段都是獨立的,所以像在同一台電腦上登入A帳號時做的,跟登入B帳號做的,就會不同,所以做這個的時候,要注意一下這點,不然會誤會遇到靈異事件。

下面這個你可以參考一下。
https://support.microsoft.com/zh-tw/help/3035277/mapped-drives-are-not-available-from-an-elevated-prompt-when-uac-is-co
p04210421 iT邦新手 5 級 ‧ 2 周前 檢舉
小成
試了一陣子才發現這個,因為其他bat要用最高權限才能用,索性把全部都加入最高來執行 哈哈哈哈
各位大大給的都很好也都學習到了
不過小成回的比較準確,請您在回答留言一下 給您最佳 感恩
小成 iT邦高手 10 級 ‧ 2 周前 檢舉
我留了XD

2 個回答

1
小成
iT邦高手 10 級 ‧ 2 周前
最佳解答

【加入管理員身分】應該就是相當於在執行檔上按右鍵選擇【以系統管理員身分執行】吧。

這邊你要了解一下,一般使用者操作的桌面,跟用系統管理員身分執行,會是不同的工作階段,所以如果你用【系統管理員身分】來做網路磁碟機的連線與磁碟機代號對映,這些就只會在【系統管理員身分】的工作階段中可以使用。
所以使用者正在操作的這個工作階段,實際上是根本沒有連線網路磁碟機的,包括刪除跟連線都是沒有的,所以當然看不到。
網路磁碟機的連線是各個工作階段都是獨立的,所以像在同一台電腦上登入A帳號時做的,跟登入B帳號做的,就會不同,所以做這個的時候,要注意一下這點,不然會誤會遇到靈異事件。

下面這個你可以參考一下。
https://support.microsoft.com/zh-tw/help/3035277/mapped-drives-are-not-available-from-an-elevated-prompt-when-uac-is-co

不過我還是覺得用登入時執行指令碼來直接執行BAT就好,有空可以測測看。
有兩個地方可以測,一個是GPO的登入指令碼,另一個是AD的使用者帳號的設定中,有一個登入指令碼。
http://ithelp.ithome.com.tw/upload/images/20170712/200110488kTBxHaKn9.png
http://ithelp.ithome.com.tw/upload/images/20170712/20011048W2fvNDNqCy.png

關於你提到不使用GPO的原因,有興趣可以再討論喔

CalvinKuo iT邦大師 8 級 ‧ 2 周前 檢舉

補充: BAT只要網路環境夠健康,使用者電腦不會太慢,連5到10個網路磁碟機應該連CMD視窗都看不到,慢一點的大概停個2秒吧(P4 10歲左右電腦等級)...
大於2秒算等太久,要檢查一下網路DNS還是有其他問題。

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

網路都很正常也很快,會慢是跟無權限的資料夾嘗試連線,所以才慢
像我是全部都有權限,1秒就跑完了
權限只有2~3個的就要很久,可能bat在等server拒絕之類的吧= ="

1
hsiang11
iT邦新手 3 級 ‧ 2 周前

看了一下網路掛載的範例
例如:在server下的share,要掛載X槽,帳號user 密碼abc,就可以寫
net use X: \server\share /user:user abc
你目前的指令似乎沒有指定/user
只丟出帳號密碼

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

是的,我沒有要指定,該程式碼會自己帶登入電腦的帳號密碼
命令是正確的哦
現在發現用.bat正常
包裝成.exe就不行了
程式碼都一樣呢= ="

我要發表回答

立即登入回答