iT邦幫忙

0

請問如何利用AD幫client更新某個程式的dll?

請問AD是否可以利用login script或其他方式,更新client電腦中鼎新conductor\s_pkg下的某支dll?
如果利用login script,可能會有以下兩種問題,請各位先進幫忙回答一下

  1. 只想讓user登入時更新一次就好,因為login script每次登入都會執行,但是只想讓client執行這一次就好,而且要怎麼知道哪些client已經更新過了?
  2. 並不是所有人的電腦都有裝鼎新,可是如果透過login script,那每個人登入domain都會執行。

請問各位先進該怎麼實做呢?

2 個回答

22
old7ada
iT邦研究生 2 級 ‧ 2009-06-23 13:41:59
最佳解答

先check client的資料夾中是否有某支dll,有再更新,沒有就exit。

cooch iT邦研究生 3 級 ‧ 2009-06-24 08:09:51 檢舉

更新的意思:
原有舊版本,要改成新版本

如果是如此,
應該原本就存在該檔案,
用您的方式就無法更新!

18
lcjan
iT邦研究生 4 級 ‧ 2009-06-24 08:40:47

『只想讓user登入時更新一次就好』
就這個問題,我可能的作法是:
1.在AD內的任一台主機上建立共享資料匣,權限設定EveryOne只能讀取,裡面放置一個檔案,檔名越特殊越好,內容不限,最好確定這個檔案在Client都不會存在的,假設他叫做"FileExist.txt"。
2.在LoginScript上更新你所要更新的DLL,在更新前順便做FileExist.txt是否存在判斷,如果不在,則執行更新,且需將FileExists.txt複製到Client,否則離開。

判斷台電腦是否安裝鼎新程式,你也可以藉由某些特殊目錄獲檔案來進行。
可利用批次檔語法:

<pre class="c" name="code">if [not] exist FileName command [else expression]
cooch iT邦研究生 3 級 ‧ 2009-06-24 10:38:04 檢舉

這種方式還算好用,
我自己也常用這種方式來判斷程式是否已已安裝或更新,
或是其他管理行為有被在用戶端電腦執行!

但是會有一個缺點:
無法判斷是否有被成功的執行!!

我要發表回答

立即登入回答