Report Service Tag of VMware ESXi Host with Powershell

หลายท่านคงคงมีปัญหาในการตรวจสอบครุภัณฑ์ประจำปี ยิ่งถ้าเป็นหน่วยงาน IT ด้วยแล้ว ถ้าจะให้ไปจด Service Tag ทั้งหมด ไม่ว่าจะเป็นอุปกรณ์ Server หรืออุปกรณ์ Network ต่าง ๆ จะกลายเป็นงานน่าเบื่อทันที ถ้าหากมัน Online อยู่เราก็จะสามารถ Get Service Tag มาได้ไม่ยาก


Directory Structure

C:\powershell-script
├───Credential/
│   └───vcsa.lab.local.clixml
├───VM-Report/
│   └───ServiceTag/
└───VM-Script/
    ├───Configuration.ps1
    └───Report-ServiceTag.ps1

Get Started

  • ทำการเพิ่ม Global Variable ในไฟล์ Configuration.ps1
# Report-ServiceTag
$Global:report_servicetag = $root + 'VM-Report\ServiceTag\ServiceTag-' + $date + '.csv'
  • ทำการสร้างไฟล์ Report-ServiceTag.ps1
. "$PSScriptRoot\Configuration.ps1"
Connect-VIServer -Server $server -Credential $credential

$path = $report_servicetag
$query = New-Object System.Collections.ArrayList

$list = Get-View -ViewType HostSystem -Property Name, Hardware.SystemInfo

foreach ($line in $list) {

	$hostname = $line.Name
	$oem = $line.Hardware.SystemInfo.Vendor
	$model = $line.Hardware.SystemInfo.Model
	$service_tag = $($line.Hardware.SystemInfo.OtherIdentifyingInfo | where {$_.IdentifierType.Key -eq “ServiceTag” }).IdentifierValue

	$obj = New-Object PSObject
	$obj | Add-Member -MemberType NoteProperty -Name VMHost -Value $hostname
	$obj | Add-Member -MemberType NoteProperty -Name OEM -Value $oem
	$obj | Add-Member -MemberType NoteProperty -Name Model -Value $model
	$obj | Add-Member -MemberType NoteProperty -Name ServiceTag -Value $service_tag
	$query.Add($obj)

}

$query | Export-Csv -Path $path -NoTypeInformation

Disconnect-VIServer -Server $server -Confirm:$false

อ่านเพิ่มเติม : https://bit.ly/2TC5Isg

Leave a Reply

Your email address will not be published. Required fields are marked *