Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function Load-Vmware {
- # +------------------------------------------------------+
- # | Load VMware modules if not loaded |
- # +------------------------------------------------------+
- # List of modules to be loaded
- $moduleList = @(
- "VMware.VimAutomation.Core",
- "VMware.VimAutomation.Vds",
- "VMware.VimAutomation.Cloud",
- "VMware.VimAutomation.PCloud",
- "VMware.VimAutomation.Cis.Core",
- "VMware.VimAutomation.Storage",
- "VMware.VimAutomation.HorizonView",
- "VMware.VimAutomation.HA",
- "VMware.VimAutomation.vROps",
- "VMware.VumAutomation",
- "VMware.DeployAutomation",
- "VMware.ImageBuilder",
- "VMware.VimAutomation.License"
- )
- $productName = "PowerCLI"
- $productShortName = "PowerCLI"
- $loadingActivity = "Loading $productName"
- $script:completedActivities = 0
- $script:percentComplete = 0
- $script:currentActivity = ""
- $script:totalActivities = `
- $moduleList.Count + 1
- function ReportStartOfActivity($activity) {
- $script:currentActivity = $activity
- Write-Progress -Activity $loadingActivity -CurrentOperation $script:currentActivity -PercentComplete $script:percentComplete
- }
- function ReportFinishedActivity() {
- $script:completedActivities++
- $script:percentComplete = (100.0 / $totalActivities) * $script:completedActivities
- $script:percentComplete = [Math]::Min(99, $percentComplete)
- Write-Progress -Activity $loadingActivity -CurrentOperation $script:currentActivity -PercentComplete $script:percentComplete
- }
- # Load modules
- function LoadModules(){
- ReportStartOfActivity "Searching for $productShortName module components..."
- $loaded = Get-Module -Name $moduleList -ErrorAction Ignore | % {$_.Name}
- $registered = Get-Module -Name $moduleList -ListAvailable -ErrorAction Ignore | % {$_.Name}
- $notLoaded = $registered | ? {$loaded -notcontains $_}
- ReportFinishedActivity
- foreach ($module in $registered) {
- if ($loaded -notcontains $module) {
- ReportStartOfActivity "Loading module $module"
- Import-Module $module
- ReportFinishedActivity
- }
- }
- }
- LoadModules
- $powerCliFriendlyVersion = [VMware.VimAutomation.Sdk.Util10.ProductInfo]::PowerCLIFriendlyVersion
- Write-Output "$powerCliFriendlyVersion Loaded"
- Write-Progress -Activity $loadingActivity -Completed
- }
- Function Load-Xen {
- Import-Module XenServerPSModule
- }
- Function Load-Azure {
- Import-Module AzureRM
- }
- Write-Output "Load-Vmware, Load-Xen, Load-Azure"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement