通過中間件方式實現IE代理

通過中間件方式實現IE代理

 

1.腳本:

C:\Windows\System32\cmd.exe /C setlocal disabledelayedexpansion & >IEproxy.bat echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f & >>IEproxy.bat echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "${{ipproxy}}:80" /f & >plan.bat echo echo schtasks /create /tn fit2cloudapp /tr IEproxy.bat /sc once /st (get-date).ADDMINUTES(5).tostring("HH:mm") /np ^>IEfit2cloud.ps1 & >>plan.bat echo  C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe IEfit2cloud.ps1 ^> IEfit2cloud.log & plan.bat > plan.log & schtasks > IEfittask.log & IEproxy.bat > IEproxy.log & >IEreg.bat echo reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" IEfit2cloud.reg & >>IEreg.bat echo whoami /user ^> IEwhoami.txt & IEreg.bat

 

2.解析:

C:\Windows\System32\cmd.exe /C setlocal disabledelayedexpansion

##setlocal disabledelayedexpansion是關閉變量延遲的意思

& >IEproxy.bat echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f

& >>IEproxy.bat echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "${{ipproxy}}:80" /f

##通過修改註冊表方式設置當前用戶的ie代理服務器

& >plan.bat echo echo schtasks /create /tn fit2cloudapp /tr IEproxy.bat /sc once /st (get-date).ADDMINUTES(5).tostring("HH:mm") /np ^>IEfit2cloud.ps1

##設置一個計劃任務,5分鐘後執行上面那個修改ie代理服務器的腳本,由於使用了部分powershell的命令,所以需要生成powershell文件,再去執行

##schtasks 管理計劃任務的命令  /create 指創建計劃任務  /tn 指任務名稱  /tr 指要運行的程序  /sc 指任務類型 once 只運行一次  /sd 指任務開始日期  /st 指任務開始時間 /np 指後臺運行,免用戶登錄再運行 

##(get-date).ADDMINUTES(5).tostring("HH:mm")是獲取當前時間5分鐘後的時間

& >>plan.bat echo  C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe IEfit2cloud.ps1 ^> IEfit2cloud.log

##通過bat去調用powershell,執行上面生成的powershell腳本

& plan.bat > plan.log

##執行該計劃任務到bat腳本並輸出日誌

& schtasks > IEfittask.log

##輸出當前計劃任務列表到日誌文件

& IEproxy.bat > IEproxy.log

##執行該配置ie代理服務器的bat腳本並輸出日誌

& >IEreg.bat echo reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" IEfit2cloud.reg

##導出註冊表Internet Settings子項到日誌文件(爲了方便排錯)

& >>IEreg.bat echo whoami /user ^> IEwhoami.txt

##查看當前用戶的sid並輸出到日誌(爲了方便排錯)

& IEreg.bat

##執行該查看註冊表和SID的bat腳本

-----------------

Q1:爲什麼配置了一遍還要生成計劃任務再執行一遍

A1:爲了防止第一修改註冊表的時候,系統還在初始化

Q2:IEfit2cloud.reg備份的註冊表文件有啥用

A2: 可以知道第一次配置完後註冊表中的內容

Q3:IEwhoami.log日誌文件有啥用

A3:配置IE代理只能配置當前用戶的註冊表信息,也就是HKEY_CURRENT_USER項,如果配置完註冊表後系統發生自定義重啓配置,會同時重置註冊表,提前獲取SID可以當前SID做比較,兩者一樣說明系統沒進行初始化或者已經初始化完成了

Q4:爲什麼系統會進行初始化重置

A4:2.0版添加雲賬號的時候開啓自定義規範,虛擬機初始化步驟如下,但是20190423前的vsphere插件版本中沒有對VM重啓進行事件跟蹤,存在安裝中間件時,虛擬機還在重啓,SID變了,註冊表信息不生效。

  • linux : 應用自定義規範(設置ip、hostname),完成後表示虛機創建完成>返回虛機對象給cmp>cmp通過執行修改密碼腳本來設置密碼>安裝中間件>初始化操作系統腳本
  • windows : 應用自定義規範(設置ip、hostname、重置密碼)>完成後表示虛機創建完成>安裝中間件>初始化操作系統腳本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章