Powercli: Secure Boot özelliği açık olan vmleri listelemek

By | 21/10/2021

Bazı günvelik yazılımları secure boot özelliği açık olan vm’leri inceleyemiyor. Bu nedenle büyük bir vmware ortamında bu tip vmleri bulmam gerekti. Aşağıdaki scripti bu işlem için hazırladım.

Birden fazla vcenter ortamına bağlanabilir. Öncelikli olarak secure boot açık olan vmleri tespit ediyor ve bunları bir csv dosyasına aktarıyor işlem tamamlanınca da csv dosyasını otomatik açıyır. Dosyada vm adı os tipi create date vcenter adı gibi bilgiler ekledim.

 

Import-Module -Name VMware.PowerCLI

Clear-Host

$path = "C:\Users\$($env:USERNAME)\Desktop\secureboot.csv"


if(Test-Path -Path $path){

        Get-ChildItem -Path $path | Remove-Item -Confirm:$false

}

$cred = Get-Credential


$vcs = "vcenter1","vcenter2"


$reports =@()
foreach($vc in $vcs){


    Connect-VIServer -Server $vc -Credential $cred


    $vms = Get-VM 

    foreach($vm in $vms){
        

        if($vm.ExtensionData.Config.BootOptions.EfiSecureBootEnabled){
        
        
                $report = [PScustomObject] @{
        
                    VMName= $vm.Name
                    SecureBoot = $vm.ExtensionData.Config.BootOptions.EfiSecureBootEnabled
                    OS = $vm.Guest.OSFullName
                    GuestFamily = $vm.Guest.GuestFamily
                    createDate = $vm.ExtensionData.Config.createDate
                    vCenter = $vm.Uid.Split('@')[1].Split(':')[0]
        
                }

                $reports += $report
    
        }

    }

  


  Disconnect-VIServer -Server * -Confirm:$false
}

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

Invoke-Item -Path $path 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir