iT邦幫忙

0

登入執行檔的怪情形

我寫了一個批次檔(簡稱a)...讓user可以登入到file server

格式如下

因為不只一台file server..所以批次檔最多有可能到三行

一開始我是把a放在gpo底下執行
但常常會發生只有1,3行執行或是只有2,3行被執行...當然也有可能都被執行

後來我想想這樣不行...我就把最重要的那行獨立出來一個批次檔(簡稱b)
這次我把b放在user帳號底下的登入執行檔執行
想說只有一行...總不會出錯了吧
但是還是常常有user抱怨他無法登入file server

真的不知道問題出在哪
所以我只好在批次檔內加入
echo 開機登入檔於%date%%time%執行成功 >> \\伺服器名稱\公用資料夾\MIS\log\%computername%.txt
用來查看是否有被執行

這裡想請問..
1.為何我多行的批次檔常常無法完全執行??
2.為何我批次檔無論放在gpo或是user底下執行..都有可能不被執行到??

16
coolvista
iT邦研究生 2 級 ‧ 2008-08-25 18:37:37
最佳解答

請用下列指令試看看:

net use driver name \\server name\ipc$ .....
drver name: e: or f: or .....

sucksemil iT邦新手 4 級 ‧ 2008-08-25 19:49:20 檢舉

ㄟ...我執行後會一直卡在下面的畫面跑不停
[img]http://www.topspeedtool.com.tw/images/emil/bat\_3.gif[/img]

sucksemil iT邦新手 4 級 ‧ 2008-08-28 09:05:01 檢舉

SERVER=Server 2003 R2 SP2
CLIENT=XPP SP3

18
fishk
iT邦大師 1 級 ‧ 2008-08-25 23:36:34

要將coolvista大所提之driver name換成磁碟代號(如: e: or f: or g:),才不會畫面跑不停.

mapping磁碟機到特定的分享資料夾, 會比mapping到\\server name\ipc$好, 如:
net use driver name \\server name\folder .....

請先在各單機試著執行相關指令, 這樣比較容易除錯.

此外, 可使用MS提供的GPResult.exe這支程式來查看Group Policy Results, 用法說明的網址如后: http://www.microsoft.com/windowsxp/using/setup/expert/gpresults.mspx

sucksemil iT邦新手 4 級 ‧ 2008-08-26 09:42:50 檢舉

我執行例如
net use m: \\servername\ipc$ "pw" /user:"id"
畫面依然是跑不停

另外..因為一個帳號的權限進去...是好幾個資料夾的權限
所以無法用\folder只能用\ipc$

fishk iT邦大師 1 級 ‧ 2008-08-27 00:15:54 檢舉

各個資料夾可以個別mapping

10
stoneck
iT邦新手 2 級 ‧ 2008-08-26 09:46:23

請試著將第一行 @echo off 移除,
然後最後多增加一行指令 pause,
這樣,這支批次程式執行到 pause 時就會暫停,
等user 按下任何鍵以後才繼續.

請把執行結果的畫面貼上來..
可以看到每一行指令執行的結果,
謝謝.

看更多先前的回應...收起先前的回應...
sucksemil iT邦新手 4 級 ‧ 2008-08-26 10:39:05 檢舉

我將servername改成ip後執行net use會出現連線..但實際是無法連線

如果從網芳進入...還是會叫我輸入帳密

改回servername後才能登入

stoneck iT邦新手 2 級 ‧ 2008-08-27 10:25:55 檢舉

使用 net use 指令登入遠端 Server, 用 \\Server_IP 與 \\Server_Name
會被系統認為是不同的登入,
所以你發現 [如果從網芳進入...還是會叫我輸入帳密] 這個怪異狀況是正常的.
因為網路芳鄰用的是 \\Server_Name 登入方式.
你可以測試以 net use 指令對相同一台伺服器,
以不同 user/password 登入, 都會成功登入 !!!!
而且後續是 -->>> 你用 \\ServerIP 與 \\Server_Name 操作 同一台File Server會有不同的權限結果.

=====================

以上都是題外話,
重點是如果你所說的有時候只有某些指令行被執行,
而錯誤狀況像是 http://www.topspeedtool.com.tw/images/emil/bat\_4.gif
所列示, 這好像是 user 端不是每次都可以正確的用 DNS
解譯出 \\Server_Name 在哪裡,

所謂 [某些指令不執行],
我猜其實真正的狀況是那行指令執行時發生錯誤,
而系統的錯誤回應是:
[系統發生 53 錯誤 。]
[找不到網路路徑。]
所以後續你用 net use 來檢查批次檔指令執行的結果,
就會發現因為某些 server 的登入失敗而像是那行指令沒執行.

你可以試著把 Server_Name 對應的 Server_IP
加到 c:\windows\system32\Drivers\etc\hosts 這個文字檔中,
這樣應該就可以解決你發生的
[常常會發生只有1,3行執行或是只有2,3行被執行] 怪異狀況.

sucksemil iT邦新手 4 級 ‧ 2008-08-28 09:18:39 檢舉

在client加入網域前
登入server的資料是存在client端帳戶的網路帳號的
那時用的就是servername...可是那時並沒有發生現在的情況
所以...有可能是應該dns對應不到的問題嗎= =?

stoneck iT邦新手 2 級 ‧ 2008-08-28 13:12:35 檢舉

試著把 Server_Name 對應的 Server_IP
加到 c:\windows\system32\Drivers\etc\hosts 這個文字檔中,
只可以治標, 後續會產生其他不必要的麻煩.

若修改 HOSTS 這方法有效, 請查 :

  1. 若是固定 IP , 查 Client 的 DNS 設定.
  2. 若是浮動 IP , 查 DHCP Server 在配發 IP 的 DNS 設定(不是 DHCP Server
    本身網路卡的 DNS 設定).
  3. 查這個網域被 Client 指到的 DNS Server 的 Record 是否正確, 是否每次均100% 正確解析 Server_Name 與 Server_IP 對應.
sucksemil iT邦新手 4 級 ‧ 2008-09-04 11:49:41 檢舉

因為之前內部網頁都是寫絕對路徑

現在已經改成相對路徑..然後把登入碼改成對應Server_IP

目前還在觀察執行情形

10
隨風奶爸
iT邦好手 1 級 ‧ 2008-08-26 09:48:29

以下是我個人使用的語法,每天開機都用著
net use t: \\192.168.2.200\driver$ 密碼 /user:帳號@網域
net use v: \\192.168.4.61\D$ 密碼 /user:帳號@網域
印象中,同一台主機不可用不同的身分登錄不同的目錄,但不同主機可以用不同的身分登錄
目錄上加 $ 是因為這兩個目錄一個是隱藏一個是磁碟目錄。
希望對你有幫助

看更多先前的回應...收起先前的回應...
sucksemil iT邦新手 4 級 ‧ 2008-08-26 11:13:04 檢舉

我沒辦法這樣執行耶
以下是執行情形
http://www.topspeedtool.com.tw/images/emil/bat\_4.gif

benbenben iT邦新手 4 級 ‧ 2008-08-26 21:00:10 檢舉

你空太開了啦!
net$use$t:$\\192.168.0.1$password$/USER:192.168.0.1\administrator
把裡面的$改成空白即可,裡面的空白只有一個字元的間格,你間格太大有的時候會有錯誤產生!

sucksemil iT邦新手 4 級 ‧ 2008-08-27 01:21:08 檢舉

我只空一格啦

name password id 都是我用繪圖軟體後製貼上的...所以看起來很開

sucksemil iT邦新手 4 級 ‧ 2008-09-04 11:44:22 檢舉

我執行了net use w: \\192.168.4.53\f$ xxxx /USER:mydomain\alexwang的格式

但必須把w:拿掉(我w:並沒又用到)..才會執行成功

如果完全照上述的內容執行..會出現
[系統發生 53 錯誤 。]
[找不到網路路徑。]

sucksemil iT邦新手 4 級 ‧ 2008-09-04 11:48:00 檢舉

再補充依下..

如果執行net use w: \\192.168.4.53\ xxxx /USER:mydomain\alexwang
會出現
[系統發生 53 錯誤 。]
[找不到網路路徑。]

如果保留f$執行net use w: \\192.168.4.53\f$ xxxx /USER:mydomain\alexwang
會出現
[系統發生 64 錯誤 。]
[指定的網路名稱無法使用]

假設:
* A是您要連線的電腦,IP是192.168.4.53,電腦裡有一個磁區F:是您要連線的根目錄;
* B是您啟動連線的電腦,再這裡執行net use的指令。
* 兩台電腦都登錄domain為:mydomain的網域下。
* 並且使用最大管理員帳號:administrator進行連線。

step1:先在B上面執行 ping 192.168.4.53 確認可以看到A
step2:net use w: \\192.168.4.53\f$ xxxx /USER:mydomain\administrator
其中 xxxx 請換成您administrator帳號的密碼。另外,請先確認您網域的管理者
帳號沒變,是使用administrator這一個帳號

* 如果A沒有登錄domain網域情況下。
step0:請先在A中建立一個帳號,或者您直接使用單機的最大管理者`,
預設也是administrator
step1:先在B上面執行 ping 192.168.4.53 確認可以看到A
step2:net use w: \\192.168.4.53\f$ xxxx /user:administrator
其中 xxxx 請換成您administrator帳號的密碼。另外,請先確認您單機的管理者
帳號沒變,是使用administrator這一個帳號

執行成功後,再試著換一般的帳號,詞時請注意權限的問題!

我要發表回答

立即登入回答