서버 상태 스크립트 정시 확인
검사 내용이 끊임없이 완벽해져서 현재 출근 체크기, 프린터, 모니터링, UPS, 공유기, 교환기 등 모든 IP 장치가 연결되어 있는지 알 수 있다.파일 공유 서버, 웹 사이트 등이 정상적으로 접근할 수 있는지 여부.Windows 서버의 부팅 시간, 메모리 사용, 하드 드라이브 사용 가능 공간 등 상황입니다.
메일을 보면 모든 설비와 서버의 상황을 한눈에 볼 수 있고 일일이 검사할 필요가 없으며 사용자가 출근하기 전에 상황을 먼저 알 수 있다.
일반적인 Ping에서 결과를 반환하는지 확인하고, 파일 접근은 FileExists, 사이트 클래스는 InetRead에서 결과를 반환하고, Windows 서버 클래스는 WMI로 조회합니다.
도메인 내 Windows 서버 부분 코드 조회:
; Windows
Local $QueryServerIP = StringSplit($WinServerIPlist, ",")
For $i = 1 To UBound($QueryServerIP) -1
Local $QueryServer = Ping($QueryServerIP[$i], 1000)
If $QueryServer Then ; If a value greater than 0 was returned then display the following message.
Dim $BodyTable, $partSpaceInfo
$objWMIService = ObjGet("winmgmts:\\" & $QueryServerIP[$i] & "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For $colItem in $colItems
$osVersion = $colItem.Version
If $colItem.FreePhysicalMemory < $AlarmFreePhysicalMemory Then
$FreePhysicalMemory = '<font size="3" color="#FE642E">' & Round($colItem.FreePhysicalMemory/1048576, 2) & "G</font>"
Else
$FreePhysicalMemory = Round($colItem.FreePhysicalMemory/1048576, 2) & "G"
EndIf
$TotalVisibleMemorySize = Round($colItem.TotalVisibleMemorySize/1048576, 2) & "G"
$LastBootTime = StringTrimRight($colItem.LastBootUpTime, 11)
$LastBootTime = StringRegExpReplace($LastBootTime, '(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)', '$1-$2-$3 $4:$5:$6')
If _DateDiff( 'd', $LastBootTime, _NowCalc()) < 1 Then ; 1, 1
$LastBootTime = '<font size="3" color="#FE642E">' & $LastBootTime & '</font>'
EndIf
Next
If $osVersion < 5.1 Then ; Windows 2000
$colItems = $objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_System")
For $colItem in $colItems
$intPerfTimeStamp = $colItem.Timestamp_Object
$intPerfTimeFreq = $colItem.Frequency_Object
$intCounter = $colItem.SystemUpTime
$osversion = $colItem.Version
Next
; Win2000
$iUptimeInSec = ($intPerfTimeStamp - $intCounter)/$intPerfTimeFreq
$bootUpDays = $iUptimeInSec/60/60/24
$seconds = ChangeToSeconds($bootUpDays)
$LastBootTime = _DateAdd( 's', -$seconds, _NowCalc())
If _DateDiff( 'd', $LastBootTime, _NowCalc()) < 1 Then ; 1, 1
$LastBootTime = '<font size="3" color="#FE642E">' & $LastBootTime & '</font>'
EndIf
EndIf
$colItems = $objWMIService.ExecQuery ("Select * from Win32_LogicalDiskToPartition")
Local $partSpaceInfo = "" ; $partSpaceInfo,
For $objItem In $colItems
$DiskFH = StringLeft(StringRight($objItem.Dependent, 3), 2)
$colDiskItems = $objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where DeviceID='" & $DiskFH & "'")
For $colDiskItem In $colDiskItems
; $DiskFHSpaceInfo = StringReplace($DiskFH, ":", " ") & CalcKMG($colDiskItem.FreeSpace) & "/ " & CalcKMG($colDiskItem.Size) & @CR
$DiskFHFreeSpace = CalcKMG($colDiskItem.FreeSpace)
If $colDiskItem.FreeSpace < $AlarmFreeSpace Then
$DiskFHFreeSpace = '<font size="3" color="#FE642E">' & CalcKMG($colDiskItem.FreeSpace) & '</font>'
Else
$DiskFHFreeSpace = CalcKMG($colDiskItem.FreeSpace)
EndIf
$DiskFHSpaceInfo = $DiskFH & $DiskFHFreeSpace & "/" & CalcKMG($colDiskItem.Size) & @CR
Next
$partSpaceInfo = $partSpaceInfo & $DiskFHSpaceInfo
Next
$BodyTable = $BodyTable & '<TR><TD>' & ServerName($QueryServerIP[$i]) & '</TD><TD>' & $QueryServerIP[$i] & '</TD><TD>' & $QueryServer & ' </TD><TD>' & $LastBootTime& '</TD><TD>' & $FreePhysicalMemory & "/" & $TotalVisibleMemorySize & '</TD><TD>' & $partSpaceInfo & '</TD></TR>'
Else
$BodyTable = $BodyTable & & '<TR><TD>' & ServerName($QueryServerIP[$i]) & '</TD><TD>' & $QueryServerIP[$i] & '</TD><TD><font size="3" color="red"> </font></TD><TD>' & $LastBootTime & '</TD><TD>' & $FreePhysicalMemory & "/" & $TotalVisibleMemorySize & '</TD><TD>' & $partSpaceInfo & '</TD></TR>'
$Subject = ' - ' & StringReplace($Subject, ' - ', "")
EndIf
Next
$Body = $Body & $BodyTable & "</Table><BR><BR><BR>"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ServiceNow 서버 측 스크립트 및 클라이언트 스크립트에서 로그 출력버전: KINGSTONE(Developer Instance) ServiceNow의 로그는 서버측 스크립트로부터 출력되는 로그와 클라이언트측 스크립프로부터 출력하는 로그의 2종류가 있다. 각각, 로그를 출력하는 메소드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.