windows 指令碼設定IE屬性

來源:互聯網
上載者:User
Windows指令碼簡介

Windows指令碼可以用來自動化管理電腦的設定。它是基於解釋的,可以與windows shell資源進行互動.windows 指令碼的下一代是power shell更功能強大更好用。

問題:

開發b/s程式,有時候會遇到由於安全問題要對IE 進行特別的設定。理想的情況是使用者對ie比較熟悉,那麼只要在協助中寫好說明,按說明設定IE就好了。但是實際的情況是大多是使用者即使那麼IE設定協助也無法完成設定。那麼,怎麼辦?讓客服人員去協助使用者設定,對於b/s來說。客戶群巨大,這樣做不現實。如果有簡單方法讓使用者去設定,這個問題也可以解決。比如下載個檔案,雙擊執行,一切搞定。這個時候windows指令碼就成了不二之選。

解決方案:

案例:

用戶端設定IE的屬性:

1.         把某個網站加到可信網站;

2.         對可信網站的未標記為安全activeX執行初始化,並關閉activeX初始化的提示資訊

指令碼如下:

 

 '----------------------------------------------------------------------------

 'IE 用戶端設定指令碼

 'write by hbb0b0

 '2009-09-04

 '----------------------------------------------------------------------------

IP="xxx.xxx.xxx.xxx"

    Const HKEY_CURRENT_USER = &H80000001

strComputer = "."

Set StdOut = WScript.StdOut

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!""" &_

strComputer & ""root"default:StdRegProv")

strKeyRanges = "Software""Microsoft""Windows""CurrentVersion""Internet Settings""ZoneMap""Ranges"

oReg.EnumKey HKEY_CURRENT_USER, strKeyRanges, arrSubKeys

    Dim strKeyName

    Dim strValue

hasIP=false

    '檢查IP是否已添加到受信網站

For Each subkey In arrSubKeys

    '' StdOut.WriteLine subkey

      strKeyName=strKeyRanges+""""+subkey

      oReg.GetStringValue HKEY_CURRENT_USER,strKeyName,":Range",strValue

    ' StdOut.WriteLine "Name:" & subKey+ " value:" & strValue

      If strValue=IP Then

         hasIP=True

      Exit For

      End If

 

Next

    '如果IP沒有添加到可信網站,則添加Ip到可信網站

If hasIP=false Then

 

 rangeName1=strKeyRanges+""""+"Range100"

    '' StdOut.WriteLine "hello" + rangeName1

 oReg.CreateKey HKEY_CURRENT_USER,rangeName1

 rangeName2=":Range"

    '' StdOut.WriteLine "hello" + rangeName2

 oReg.SetStringValue HKEY_CURRENT_USER,rangeName1,rangeName2,IP

 rangeName3="http"

 rangeName3Value=2

    '' StdOut.WriteLine "hello" + rangeName3

 oReg.SetDWORDValue HKEY_CURRENT_USER,rangeName1,rangeName3,rangeName3Value

    ' StdOut.WriteLine "可信網站已添加"+IP

End If

 

    '可信網站的允許不可信的activeX初始化

strKeyActiveX="Software""Microsoft""Windows""CurrentVersion""Internet Settings""Zones""2"

 

    '檢查是否已設定了activeX初始化

    Dim str1201Value

hasActiveXInit=False

oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,1201,str1201Value

    ' StdOut.WriteLine strKeyActiveX+"""1201 :" +Cstr(str1201Value)

IF str1201Value=0 Then

     hasActiveXInit=True

End If

If hasActiveXInit=False Then

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,1201,0

     oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,1201,str1201NewValue

    ' StdOut.WriteLine strKeyActiveX+"""1201(new) :" +Cstr(str1201NewValue)

End If

 

    '設定關閉IE 可信網站的IE 提示

    '檢查是否已關閉了activeX提示

    Dim str2201Value

hasActiveXWarning=False

oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,2201,str2201Value

    ' StdOut.WriteLine strKeyActiveX+"""2201 :" +Cstr(str2201Value)

IF str2201Value=0 Then

     hasActiveXWarning=True

End If

    '沒有關閉activeX提示的話就關閉

If hasActiveXWarning=False Then

    oReg.SetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,2201,0

     oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyActiveX,2201,str2201NewValue

    ' StdOut.WriteLine strKeyActiveX+"""2201(new):" +Cstr(str2201NewValue)

End If

注意:

Windows 指令碼宿主有兩個版本:基於 Windows 的版本 (Wscript.exe),它提供用於設定指令碼屬性的屬性單;另一個是基於命令提示字元的版本 (Cscript.exe),它提供用於設定指令碼屬性的命令列開關。通過在命令提示字元下鍵入 Wscript.exe 或 Cscript.exe 可以運行其中某一個。

如果在Wcript中運行:

        Set StdOut = WScript.StdOut

        StdOut.WriteLine “hello world”

StdOut會報錯,它一直為空白。它只能在Cscript中被初始化。命令列執行模式下才有控制台輸出對象。

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.