敝人環境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的問題??
還是敝人有什麼樣的盲點沒注意到? 還請諸位前輩指點!
ask9975提到:
UNC Path
1.路徑問題,只要記得加上引號『"左右二個2點"』即可,就算當中有特殊字元也OK
2.BATCH無法執行的問題,我也搞過很久,就是無法在既有AD上面執行,原因不明,很多年了,直到前二個月,剛好有機會,建立新的AD,順便測試BATCH........明明就可以執行(我只是開機自動連結磁碟機代號而已)
所以我的答案是:AD有問題,但是我無法解決他......我也找不到解決辦法
除非重建AD.............
這跟GPO無關
3.通常,大家會搭配RUNAS來跑,你試試吧
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那去查了。
Hi,
可以請您試試看增加 GPO內 "GpNetworkStartTimeoutPolicyValue" 這個設定.