iThome online | iThome Blog | iThome周刊訂閱

載入中...

sucksemil

IT邦初學者
10級

登入執行檔的怪情形
標籤:伺服器

我寫了一個批次檔(簡稱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底下執行..都有可能不被執行到??

昨天在批次檔內加了一行
echo 開機登入檔於%date%%time%執行成功 >> \\伺服器名稱\公用資料夾\MIS\log\%computername%.txt

但結果是就算有跑出%computername%.txt(有這就表示批次有執行到吧)
不代表有執行登入file server

net use的結果是沒半個連線

2008-08-26 09:58:00 補充

我又改了一下批次檔
每行一個log

set x=%date:~0,4%%date:~5,2%%date:~8,2%
net use \\server_2 "password" /user:id > \\server_1\log\%x%\%computername%_log.txt

正常開機執行時會產生一個%computername%_log.txt(存入當天的資料夾)
大小為1k
內容是命令執行成功。

今天測試第一天10台電腦中有兩台一樣有產生這個檔%computername%_log.txt
但大小為0k
內容也是空的

真的百思不得其解
10台pc跑一樣的批次檔..產生10個%computername%_log.txt
理論上應該都是有執行到的
但事實上卻是有兩台執行失敗
而且問題不在這這兩台...因為明天開機時又有可能是別台執行失敗
我真的腦袋想到爆了= =

2008-08-28 09:02:18 補充



收到書籤:發佈到twitter      
解決時間:2008-09-08 09:11:18
發問時間:2008-08-25 15:04:46

▼ ADVERTISEMENT ▼

最佳解答(發問者自選)
6

回答:coolvista ( IT邦初學者7級 )

時間:2008-08-25 18:37:37

請用下列指令試看看:

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

2008-08-26 08:34:22補充
請問您的 server 作業系統為何?

因為server 作業系統與PC 作業系統(如 XP)所提供的連線數目有差別!

[-隱藏]

回應

sucksemil 說:

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

2008-08-25 19:49:20

sucksemil 說:

SERVER=Server 2003 R2 SP2
CLIENT=XPP SP3

2008-08-28 09:05:01

登入執行檔的怪情形
iT邦守護神
回答:fishk( IT邦好手1級 )
時間:2008-08-25 23:36:34
7
要將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
無法在Server端建立檔案會和權限有關, 請檢查權限.
建議還是在有問題的主機直接run script來做測試2008-09-05 13:50:54 補充

[-隱藏]

回應 fishk

sucksemil 說:

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

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

2008-08-26 09:42:50

fishk 說:

各個資料夾可以個別mapping

2008-08-27 00:15:54

回答:stoneck( IT邦初學者7級 )
時間:2008-08-26 09:46:23
3
請試著將第一行 @echo off 移除,
然後最後多增加一行指令 pause,
這樣,這支批次程式執行到 pause 時就會暫停,
等user 按下任何鍵以後才繼續.

請把執行結果的畫面貼上來..
可以看到每一行指令執行的結果,
謝謝.
伺服器名稱後面的 "\ipc$" 可以刪除.
伺服器名稱試著改成 IP2008-08-26 09:50:41 補充

[-隱藏]

回應 stoneck

sucksemil 說:

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

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

改回servername後才能登入

2008-08-26 10:39:05

stoneck 說:

使用 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行被執行] 怪異狀況.

2008-08-27 10:25:55

sucksemil 說:

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

2008-08-28 09:18:39

stoneck 說:

試著把 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 對應.

2008-08-28 13:12:35

sucksemil 說:

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

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

目前還在觀察執行情形

2008-09-04 11:49:41

回答:newswind38( IT邦初學者9級 )
時間:2008-08-26 09:48:29
3
以下是我個人使用的語法,每天開機都用著
net use t: \\192.168.2.200\driver$ 密碼 /user:帳號@網域
net use v: \\192.168.4.61\D$ 密碼 /user:帳號@網域
印象中,同一台主機不可用不同的身分登錄不同的目錄,但不同主機可以用不同的身分登錄
目錄上加 $ 是因為這兩個目錄一個是隱藏一個是磁碟目錄。
希望對你有幫助
再給你一份說明:
NET USE [devicename:] [\\computer name(IP)\sharename(disk volume$)] [password] /USER:[account] [/DELETE]

說明:

NET USE:指令

devicename:欲使用的磁碟機代碼,例如,x: y: z:,只要是目前系統中沒有使用到的即可。

computer name(IP):可以使用PC的名稱或是用PC的IP進行指定哪一台電腦

sharename(disk volume$):可以下達某依個目錄或是整個磁碟,磁碟要在磁碟機代號後面加上"$",但不要加":"。

password:密碼

/USER:指令,用已指定連線使用的帳號

account:帳號,可以直接使用 [dotted domain name -像是-> xxxxx.com.tw]
1.account
2.domain name\account
3.dotted domain name\account
4.account@dotted domain name

/DELETE:刪除指定的網路磁碟機對應

例子:要連線 IP:192.168.4.53 的 F:磁碟機 使用帳號:alexwang 密碼:xxxx,連接為網路磁碟機代號 W: 網域:mydomain
net use w: \\192.168.4.53\f$ xxxx /USER:mydomain\alexwang2008-08-29 12:51:40 補充

[-隱藏]

回應 newswind38

sucksemil 說:

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

2008-08-26 11:13:04

benbenben 說:

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

2008-08-26 21:00:10

sucksemil 說:

我只空一格啦

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

2008-08-27 01:21:08

sucksemil 說:

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

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

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

2008-09-04 11:44:22

sucksemil 說:

再補充依下..

如果執行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 錯誤 。]
[指定的網路名稱無法使用]

2008-09-04 11:48:00

newswind38 說:

假設:
* 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這一個帳號

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

2008-09-06 12:06:31

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

▼ ADVERTISEMENT ▼

熱門標籤

 cisco   crystal   exchange   it   java   javascript   linux   m-power   mail   microsoft   msnlib   msnp15   msnsdk   msn機器人   mysql   nas   oracle   outlook   pmi   pmp   raid   report   sap   server   smartquery   sql   vista   windows   xp   倍力   倍力資訊   免費軟體   國際專案管理師   報表   專案管理   微軟   有話大聲說   活動   省錢   網路   網路儲存   網路管理   網頁安全   網頁設計   資安   資料庫   資訊安全   防毒軟體   2003   2008