iT邦幫忙

0

【GPO套用成功,LoginScrpit卻不執行】的問題

敝人環境windows server2003 AD,為了自動移除A防毒軟體並且自動安裝B防毒軟體而寫了一個123.bat檔,首先bat檔內容已經過測試放到Client PC本機上面,用Domain User權限是可以成功執行的,接著便放在GPO的電腦設定→啟動 底下,看了群組原則結果模型是被拒絕的GPO,原因是空白,於是便放在使用者設定→登入底下,Client PC reboot後看gpresult的確是有套用成功,
在AD看Rsop也是套用成功,但是123.bat檔就是不曉得是沒有執行還是卡住,並未成功執行自動移除A防毒安裝B防毒的動作,於是再以Domain User權限,直接以UNC path連到AD的netlogon資料夾去執行那個123.bat,也是成功執行的! 只是在執行過程中命令提示字元的開頭有出現"..不支援UNC路徑"但依然完成所有動作,另外還試過:
1.新增OU→新建GPO→電腦設定、使用者設定都放。 結果:使用者套用成功,未執行。
2.寄生在已成功套用的舊GPO底下 結果:使用者套用成功,未執行。
3.測試其他批次檔 結果:只要有牽涉UNC Path的都會失敗!
4.直接改本機原則 結果:成功 (但要一台一台改,不考慮)
5.在AD使用者及電腦中改個別帳戶的登入批次檔 結果:成功 (但要一個一個改,不考慮)

所以想請教: GPO套用Logon Script的批次檔中是否會有連接UNC Path的問題??
還是敝人有什麼樣的盲點沒注意到? 還請諸位前輩指點!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
Ken(Bigcandy)
iT邦大師 1 級 ‧ 2011-04-14 15:48:47

ask9975提到:
UNC Path

1.路徑問題,只要記得加上引號『"左右二個2點"』即可,就算當中有特殊字元也OK

2.BATCH無法執行的問題,我也搞過很久,就是無法在既有AD上面執行,原因不明,很多年了,直到前二個月,剛好有機會,建立新的AD,順便測試BATCH........明明就可以執行(我只是開機自動連結磁碟機代號而已)
所以我的答案是:AD有問題,但是我無法解決他......我也找不到解決辦法
除非重建AD.............
這跟GPO無關

3.通常,大家會搭配RUNAS來跑,你試試吧

花輪 iT邦大師 1 級 ‧ 2011-04-14 20:14:22 檢舉

bigcandy提到:
大家會搭配RUNAS來跑

嗯~~尤其是 vista & 7 的 client,因為有 UAC,所以,用 RUNAS 最保險!

2
蟹老闆
iT邦大師 1 級 ‧ 2011-04-14 17:59:27

ask9975提到:
3.測試其他批次檔 結果:只要有牽涉UNC Path的都會失敗!

只要不是使用%PHTH%以外的指令的話跟UNC沒有關係,不過樓主提到:只要有牽涉UNC Path的都會失敗,或許是指令非本機磁碟裡的
提供一個暫時解決的方法

<pre class="c" name="code">
IF NOT EXIST %SYSTEMROOT%\%~nx0 (
copy /y "%~0" %SYSTEMROOT%\
calll %SYSTEMROOT%\%~nx0
exit
)

把這几行加到你批次檔的開頭執行看看。
作法是讓他在本機執行,如果還是不行那就真的要往AD那去查了。

蟹老闆 iT邦大師 1 級 ‧ 2011-04-14 18:56:56 檢舉

CALLL 多了一個 L

2
darkeryu
iT邦新手 1 級 ‧ 2011-04-15 00:38:19

Hi,

可以請您試試看增加 GPO內 "GpNetworkStartTimeoutPolicyValue" 這個設定.

我要發表回答

立即登入回答