หลายท่านคงคงมีปัญหาในการตรวจสอบครุภัณฑ์ประจำปี ยิ่งถ้าเป็นหน่วยงาน 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