客戶有一台sserver 2003 AD(在C:\WINDOWS\SYSVOL\sysvol\sg.com\scripts路徑下)寫了派送首頁與Explorer的批次檔在使用者登入時會自動執行,我有一台是server 2003成員伺服器雲端平台他會使用RDP的方式登入使用軟體,但問題是當執行軟體時會以AD上帳號的人做登入使用,可是就會套用到AD的群組原則會自動派送首頁與Explorer,而開啟的軟體就消失了,不會被執行.
如何再不改AD的群組原則下,在雲端平台的電腦上也可以寫批次檔來規避,就是當使用此平台執行軟體的使用時會以RDP的方式做登入,但就不會套用到AD的群組原則(派送首頁與Explorer)而可以正常開啟軟體使用.
請問還有別種方法設定也可以讓AD派送首頁與Explorerㄇ....謝謝
可在批次檔內加入以下指令
<pre class="c" name="code">
if %username% == 使用者名稱 goto label
原批次檔內容
...
...
...
...
...
...
...
原批次檔內容
:label
實際運用時請參考原有需求if %username% == 使用者名稱 goto label 放置的位置會關係到其他指令是否運作,另外使用者名稱有大小寫區分請注意。
可以請教一下:
if %username% == 使用者名稱 goto label ,使用者名稱是指誰....會是指AD內所有帳號的人ㄇ
Goto 指令
指定跳轉到標籤,找到標籤後,程式將處理從下一行開始的指令。
語法:goto label (label是參數,指定所要轉向的批處理程式中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(若果這裡的if、%1、%2你不明白的話,先略過去,後面會有詳細的解釋。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
標籤的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標籤,goto指令就是根據這個:來尋找下一步前往到那裡。
所以意思是是要將元批次檔的內容給goto,在:label的後面在接上要執行的程式,
Sample:
start C:\"Program Files"\"AutoCAD 2009"\acad.exe
這樣就可以做規避並執行應用程式ㄇ,謝謝.
if %username% == 使用者名稱 goto label
這行必須將使用者名稱改為自己的帳號,而%username%會依登入者的不同而改變,
假設原批次內容為
ECHO 歡迎登入
NET USE X: \\SERVER\IPC$ /USER:%username% 456
STRAT "C:\PROGRAM FILES\AUTOCAD 2009\ACAD.EXE"
NET USE Y: \\file1\IPC$ /USER:%username% 456
要改成
ECHO 歡迎登入
NET USE X: \\SERVER\IPC$ /USER:%username% 456
if %username% == 使用者名稱 goto label
STRAT "C:\PROGRAM FILES\AUTOCAD 2009\ACAD.EXE"
:label
NET USE Y: \\file1\IPC$ /USER:%username% 456
這樣僅會略過不想執行的指令,其它的還可以執行。