1. <dd id="erndk"></dd>
                1. Zabbix批量導入XML文件生成小腳本(by Powershell)

                  互聯網 2022/5/1 7:13:50

                  最近升級6.0后發現手動批量導入Zabbix主機群組需要一個新的uuid參數,于是用powershell寫了一個腳本。代碼如下:<#TIME:2022/04/30DESCRIPTION:生成zabbix批量導入的XML文件AUTHOR:Monbro #> # # $zbxiface設置為161為生成SNMP的XML文件,設置10050為ZabbixAgent的…

                  最近升級6.0后發現手動批量導入Zabbix主機群組需要一個新的uuid參數,于是用powershell寫了一個腳本。

                   

                   

                   

                   

                  代碼如下:

                  <#
                      TIME:2022/04/30
                      DESCRIPTION:生成zabbix批量導入的XML文件
                      AUTHOR:Monbro
                  #>
                  #
                  # $zbxiface設置為161為生成SNMP的XML文件,設置10050為ZabbixAgent的XML文件
                  $zbxiface = 10050
                  $ppath = Split-Path -Parent $PSCommandPath
                  $xlsxfile = $ppath+"\"+(Get-ChildItem -Path "$ppath\*.xlsx").Name
                  $excel = New-Object -ComObject Excel.Application
                  $excel.Visible = $false
                  $wb=$excel.Workbooks.Open($xlsxfile)
                  $ws=$wb.Sheets.Item("Sheet1")
                  $slist=$iplist=$dplist=$cnlist=@()
                  for ($n = 1; $n -le $ws.UsedRange.Rows.Count; $n++) {
                      #01_Names
                      $slist+=$ws.Cells.Item($n,1).Text
                      #02_IPv4Address
                      $iplist+=$ws.Cells.Item($n,2).Text
                      #03_Description
                      $dplist+=$ws.Cells.Item($n,3).Text
                      #04_CanonicalName
                      $cnlist+=$ws.Cells.Item($n,4).Text
                  }
                  $excel.Quit()
                  $excel = $null
                  [GC]::Collect()
                  $cretedate =  Get-Date -Format "yyyy-MM-ddThh:mm:ssZ"
                  $groupname=$cretedate
                  $groupuuid=[System.Guid]::NewGuid().toString('N')
                  $filename = $ppath+"\"+$cretedate.Replace(":", "")+".xml"
                  function ZBXhosts_imxml{
                  
                  $xmlhead="<?xml version=`"1.0`" encoding=`"UTF-8`"?>
                  <zabbix_export>
                      <version>6.0</version>
                      <date>$cretedate</date>
                      <groups>
                          <group>
                              <uuid>$groupuuid</uuid>
                              <name>$groupname</name>
                          </group>
                      </groups>
                      <hosts>"
                      $xmltail="    </hosts>
                  </zabbix_export>"
                  $xmlhead | Out-File -Encoding utf8 $filename
                  
                  if ($zbxiface.Equals(10050)) {
                      $i=0
                      foreach($ServerName in $slist ){
                          $ip=$iplist[$i]
                          $desp=$dplist[$i]
                          $cnname=$cnlist[$i]
                          $xmlmid10050="        <host>
                              <host>$ServerName</host>
                              <name>$ServerName</name>
                              <description>$desp</description>
                              <groups>
                                  <group>
                                      <name>$groupname</name>
                                  </group>
                              </groups>
                              <interfaces>
                                  <interface>
                                      <ip>$ip</ip>
                                      <dns>$ServerName</dns>
                                      <interface_ref>if1</interface_ref>
                                  </interface>
                              </interfaces>
                              <inventory>
                                  <name>$cnname</name>
                              </inventory>
                          </host>"
                          $xmlmid10050 | Out-File -Encoding utf8 -Append $filename
                          $i++
                      }
                  }
                  
                  if ($zbxiface.Equals(161)) {
                      $i=0
                      foreach($ServerName in $slist ){
                          $ip=$iplist[$i]
                          $desp=$dplist[$i]
                          $cnname=$cnlist[$i]
                          $xmlmid161="        <host>
                              <host>$ServerName</host>
                              <name>$ServerName</name>
                              <description>$desp</description>
                              <groups>
                                  <group>
                                      <name>$groupname</name>
                                  </group>
                              </groups>
                              <interfaces>
                                  <interface>
                                      <type>SNMP</type>
                                      <ip>$ip</ip>
                                      <dns>$ServerName</dns>
                                      <port>161</port>
                                      <details>
                                          <community>{`$SNMP_COMMUNITY}</community>
                                      </details>
                                      <interface_ref>if1</interface_ref>
                                  </interface>
                              </interfaces>
                              <inventory>
                                  <name>$cnname</name>
                              </inventory>
                          </host>"
                          $xmlmid161 | Out-File -Encoding utf8 -Append $filename
                          $i++
                      }
                  }
                  
                  $xmltail | Out-File -Encoding utf8 -Append $filename
                  }
                  
                  ZBXhosts_imxml
                  

                    

                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [Zabbix批量導入XML文件生成小腳本(by Powershell)]http://www.yachtsalesaustralia.com/tech/detail-318441.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  掃一掃關注最新編程教程
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>