熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

探討Windows下登錄工具KiXtart

2022-06-13   來源: Windows系統管理 

  登錄腳本是一種集中控制各種日常管理任務的首選途徑沒有了登錄腳本這些任務就必須到用戶的桌面上手工完成特別是在WAN環境中登錄腳本的優勢非常明顯
    KiXtart是一個優秀的高級登錄腳本工具遠比Windows NT系列操作系統內建的DOS批命令風格的處理器強大例如KiXtart允許訪問NT SAM或系統信息操作文件修改注冊表或者執行OLE自動化任務KiXtart能夠根據用戶標識和所屬群組靈活地調用腳本和子過程必要時我們可以用一個腳本來調用其他的腳本這些功能方便了腳本的集中控制簡化了腳本代碼的維護和調試
    配置KiXtart運行環境
    配置一個基本的KiXtart運行環境很簡單KiXtart是Microsoft Windows Resource Kit的一部分最新版可以從下載要運行KiXtart腳本只要在所有提供驗證服務的服務器上將KiXtart執行文件(kixexe)放到\neglogon共享目錄就可以了
    但對於Windows x系統KiXtart還需要額外的配置才能與KiXtart遠程過程調用服務通信即必須在每一個域控制器(DC)上安裝RPC服務再把KiXtart的輔助DLL(kxdllkxdllkxdll)和kixexe文件一起放入\netlogon共享服務KiXtart的下載包帶有RPC服務的執行文件kxrpcexe
    編寫腳本
    KiXtart腳本文件其實就是普通的文本文件可以用記事本或其他文本編輯器編輯但文件的擴展名一般是kix如果要在用戶登錄期間運行某個KiXtart腳本只要在該用戶帳戶的配置文件中設置登錄腳本選項即可用不帶參數的形式調用kixexe時KiXtart將尋找和運行默認的腳本文件kixtartkix我們可以在kixtartkix腳本中調用其他腳本將kixtartkix作為一個主控腳本使用
    KiXtart具有豐富的腳本語言功能包括控制結構命令函數變量數組等雖然說不一定只有專業的開發者才能使用KiXtart但了解一些基本的編程知識還是有好處的
    ■ 控制結構
    控制結構是控制腳本運行流程的命令例如根據一定的條件允許某些命令或其他腳本運行假設在一個所有用戶都運行的腳本中我們只想讓某個用戶運行特定的腳本代碼可以加入下列If Else Endif結構
    If @USERID = testuser
  Call testuserskix
  EndIf
    每一個用戶都會運行上面的登錄腳本但只有testuser用戶會調用testuserskix腳本其他KiXtart控制結構還包括
    ⑴ DoUntil反復運行一個代碼片斷直至指定的條件為真
  ⑵ While Loop當指定的條件為真時反復地運行一個代碼片斷
  ⑶ For Each對於數組或對象中的每一個元素分別運行一次代碼片斷
  ⑷ ForNext將一個代碼片段運行一定的次數
    ■ 變量
    變量是一種用描述性名稱來存儲信息的機制存儲在變量中的數據可以隨時修改在KiXtart中所有變量必須以$符號開頭
    就象其他專業的編程語言一樣KiXtart變量也有一定的作用范圍變量的作用范圍決定了當一個腳本調用子過程或其他腳本時被調用的子過程或腳本是否能夠訪問前者定義的變量如果為變量指定了錯誤的作用范圍很可能導致腳本錯誤或出現不可預料的運行結果KiXtart變量的作用范圍有兩種Global這種類型的變量可以被所有腳本程序訪問和修改Local這類變量只能在聲明它的子過程或腳本之內訪問
    KiXtart變量可以用多種方式聲明
    ⑴ 隱式聲明在腳本中直接將一個值賦予一個變量隱式聲明的變量具有全局作用范圍所有腳本程序和子過程都可以訪問它
  ⑵ 顯式聲明首先定義變量然後才給它賦值有兩個命令可以定義變量即Dim和GlobalDim定義的變量作用范圍是本地(Local)只能在定義它的子過程或腳本之內訪問Global定義的變量是全局變量
    ■ 宏
    在KiXtart中宏的作用是從運行腳本的系統或網絡返回信息KiXtart的宏類似於一種環境變量不要將它與WordExcel或Word Perfect的宏混淆KiXtart的宏不是程序用戶不能修改它們所有的宏都以@字符開頭常用的宏包括
    ① @USERID返回當前的用戶
  ② @LSERVER返回為當前登錄進程驗證身份的服務器
  ③ @WKSTA返回正在運行腳本的工作站名稱
  ④ @TIME返回系統時間
    ■ 命令
    命令執行一個動作下面列出了幾種常用的命令
    ⑴ Use映射驅動器或者連接到其他網絡資源例如打印機
  ⑵ Shell裝入並運行一個程序在KiXtart腳本程序中我們不能直接使用標准的Windows批命令所以KiXtart提供了Shell命令讓我們調用標准的批命令和外部程序被調用的外部程序可以是任何位或位Windows程序用Shell命令調用外部程序時KiXtart腳本會暫停執行等待外部程序結束所以調用外部程序時務必慎重如果被調用的程序掛起腳本也會停止響應
  ⑶ Copy復制一個文件

    ■ 函數
    函數類似於命令不同之處在於函數會返回數據通常情況下我們要把函數的返回值保存到某個變量有時函數的返回值表示動作的執行狀態例如ADDKEY()函數將一個注冊鍵加入到注冊表它的返回值表示加入注冊鍵的操作是否成功又如UCASE()函數將字符串轉換成大寫例如UCASE(hello)的返回值是HELLO
    除了大多數編程語言都提供的標准函數之外KiXtart專門提供了許多面向登錄操作的函數INGROUP()函數就是一個例子——它能夠判斷登錄的用戶是否屬於特定的組例如下面的代碼判斷當前用戶是否屬於Finance組如是則刪除當前的驅動器映射G:然後再將G:映射到Finance部門的共享目錄
    If INGROUP(Finance)
   Use g: /delete
   Use g: \\servername\financeshare
  EndIf
    ■ 用戶定義函數
    KiXtart允許創建用戶定義函數(UDF)極大地改進了登錄腳本的靈活性我們可以利用UDF機制創建公用的腳本模塊簡化腳本開發
    KiXtart網站提供了大量實用腳本范例包括計算和提示磁盤容量/配額比較目錄配置打印機建立文件關聯檢查病毒庫版本搜索文件配置環境變量等等有興趣的讀者可以參看地址是

From:http://tw.wingwit.com/Article/os/xtgl/201311/9577.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.