VMware PowerCLI 12.0.0 Release Notes

Released 02 April 2020

VMware PowerCLI 12.0.0. Build 15947286

Release notes last updated on 16 September 2020.

Check frequently for additions and updates to these release notes.

VMware PowerCLI 12.0.0 Release Notes

This document contains the following information:

About VMware PowerCLI

VMware PowerCLI is a suite of PowerShell modules to manage VMware products and services. VMware PowerCLI includes over 700 cmdlets to easily manage your infrastructure on a global scale.

Installation, Upgrade, and Removal of VMware PowerCLI

Management of the PowerCLI modules is provided by the PowerShell Gallery and by using the PowerShell default cmdlets for working with modules in the PowerShell Gallery. For detailed information on how to install, upgrade, or remove PowerCLI, refer to the VMware PowerCLI 12.0.0 User's Guide or the PowerCLI Blog.

VMware PowerCLI Components

In VMware PowerCLI 12.0.0, the following modules have been updated:

  • VMware.PowerCLI: Provides a root module which other modules are dependent on. This ensures the PowerCLI product can be installed, upgraded, and removed as a complete package if needed.
  • VMware.VimAutomation.Core: Provides cmdlets for automated administration of the vSphere environment.
  • VMware.VimAutomation.Common: Provides functionality that is common to all PowerCLI modules. This module has no cmdlets, but is required for other modules to function correctly.
  • VMware.VimAutomation.Sdk: Provides SDK functionality that is needed by all PowerCLI modules. This module has no cmdlets, but is required for other modules to function correctly.
  • VMware.VimAutomation.Vds: Provides cmdlets for managing vSphere distributed switches and distributed port groups.
  • VMware.VimAutomation.Cis.Core: Provides cmdlets for managing vSphere Automation SDK servers.
  • VMware.VimAutomation.Storage: Provides cmdlets for managing vSphere policy-based storage.
  • VMware.VimAutomation.License: Provides the Get-LicenseDataManager cmdlet for managing VMware License components.
  • VMware.ImageBuilder: Provides cmdlets for managing depots, image profiles, and VIBs.
  • VMware.DeployAutomation: Provides cmdlets that provide an interface to VMware Auto Deploy for provisioning physical hosts with ESXi software.
  • VMware.VimAutomation.Cloud: Provides cmdlets for automating vCloud Director features.
  • VMware.VimAutomation.vROps: Provides cmdlets for automating vRealize Operations Manager features.
  • VMware.VimAutomation.HorizonView: Provides cmdlets for automating VMware Horizon features.
  • VMware.VimAutomation.Nsxt: Provides cmdlets for managing NSX-T servers.
  • VMware.VimAutomation.Vmc: Provides cmdlets for managing VMware Cloud on AWS features.
  • VMware.Vim: Provides vSphere low-level binding libraries. This module has no cmdlets.
  • VMware.VimAutomation.Security: Provides cmdlets for managing vSphere Security, including virtual Trusted Platform Module.
  • VMware.VimAutomation.Hcx: Provides cmdlets for managing VMware HCX features.

In VMware PowerCLI 12.0.0, the following modules have been added:

  • VMware.VimAutomation.WorkloadManagement: Provides cmdlets for managing Project Pacific.
  • VMware.CloudServices: Provides cmdlets for managing VMware Cloud Services.

Supported Platforms

For a list of VMware PowerCLI 12.0.0 supported operating systems and PowerShell versions, see Compatibility Matrixes for VMware PowerCLI 12.0.0.

For a list of VMware products with which VMware PowerCLI 12.0.0 is compatible, see VMware Product Interoperability Matrixes.

What's New in This Release

New Features

VMware PowerCLI 12.0.0 introduces the following new features, changes, and improvements:

  • The new VMware.VimAutomation.WorkloadManagement module provides cmdlets for managing namespace lifecycle and policy.
    • New cmdlets
      Get/New/Set/Remove-WMNamespace
      Get/New/Set/Remove-WMNamespacePermission
      Get/New/Set/Remove-WMNamespaceStoragePolicy
  • The new VMware.CloudServices module provides cmdlets for managing user invitation, activation, and roles.
    • New cmdlets
      Connect-Vcs
      Get-VcsOrganizationRole
      Get-VcsService
      Get-VcsServiceRole
      Get-VcsUser
      Get-VcsUserInvitation
      New-VcsOAuthSecurityContext
      New-VcsUserInvitation
      Remove-VcsUser
      Remove-VcsUserInvitation
  • A number of new cmdlets have been added to the VMware.VimAutomation.Vmc module.
    • New cmdlets for managing VMware Cloud on AWS clusters and organization information
      Get-VmcOrganization
      Get-VmcSddcCluster
      New-VmcSddcCluster
      Remove-VmcSddcCluster
  • A number of new cmdlets have been added to the VMware.VimAutomation.Storage module.
    • New cmdlets for lifecycle management of the vSAN file service domain
      Get/New/Set/Remove-VsanFileServiceDomain
      New-VsanFileServiceIpConfig
    • New cmdlets for lifecycle management of the vSAN file share
      Get/New/Set/Remove-VsanFileShare
      New-VsanFileShareNetworkPermission
    • New cmdlets for management of the vSAN file service OVF
      Add-VsanFileServiceOvf
      Get-VsanFileServiceOvfInfo
  • A number of new cmdlets have been added to the VMware.VimAutomation.Hcx module.
    • New cmdlets for managing HCX Mobility Group
      Get/New/Set-HCXMobilityGroup
      New-HCXMobilityGroupConfiguration
      Start-HCXMobilityGroupMigration
      Stop-HCXMobilityGroupMigration
      Set-HCXMobilityGroupConfiguration
    • New cmdlets for managing VMware HCX OS Assisted Migration (OSAM)
      Uninstall-HCXSentinel
      Update-HCXSentinel
  • A number of new cmdlets have been added to the VMware.VimAutomation.Core module.
    • New cmdlets for managing vSphere network stacks
      Get-VMHostNetworkStack
      Set-VMHostNetworkStack
    • New cmdlet for managing vSphere guest disk information
      Get-VMGuestDisk
  • A number of new cmdlets have been added to the VMware.DeployAutomation and VMware.ImageBuilder modules.
    • New cmdlets for managing auto-bootstrapping
      New/Set/Reset-LCMClusterRuleWithTransform
    • New cmdlets for managing new-style depots in vSphere 7.0
      Get-DepotAddons
      Get-DepotBaseImages
      Get-DepotComponents
      Get-DepotInfo
      Get-DepotVibs
      New-IsoImage
      New-PxeImage
  • A number of new cmdlets have been added to the VMware.VimAutomation.Security module.
    • New cmdlets for lifecycle management of the Workload vCenter Server system
      Add/Get/Remove-AttestationServiceInfo
      Add/Get/Remove-KeyProviderServiceInfo
      Add-TrustedClusterAttestationServiceInfo
      Add-TrustedClusterKeyProviderServiceInfo
      Get-TrustedCluster
      Get-TrustedPrincipal
      Get-Tpm2EndorsementKey
      Import-TrustAuthorityServicesInfo
      Set-TrustedCluster
      Register-KeyProvider
      Unregister-KeyProvider
      Export-Tpm2CACertificate
      Export-Tpm2EndorsementKey
      Export-TrustedPrincipal
      Export-VMHostImageDb
      Remove-TrustedClusterAttestationServiceInfo
      Remove-TrustedClusterKeyProviderServiceInfo
    • New cmdlets for lifecycle management of the Trust Authority vCenter Server system
      Add/Get/Remove-TrustAuthorityKeyProviderServer
      Add/Get/Set/Remove-TrustAuthorityKeyProviderServerCertificate
      Get-TrustAuthorityAttestationService
      Get-TrustAuthorityCluster
      Get/New/Set/Remove-TrustAuthorityKeyProvider
      Get/New/Set/Export-TrustAuthorityKeyProviderClientCertificate
      Get/New/Remove-TrustAuthorityPrincipal
      Get/New/Remove-TrustAuthorityTpm2CACertificate
      Get/New/Remove-TrustAuthorityTpm2EndorsementKey
      Get/New/Remove-TrustAuthorityVMHostBaseImage
      Get-TrustAuthorityKeyProviderClientCertificateCSR
      Get-TrustAuthorityKeyProviderService
      Get-TrustAuthorityTpm2AttestationSettings
      Get-TrustAuthorityServicesStatus
      New-TrustAuthorityKeyProviderClientCertificateCSR
      Set-TrustAuthorityTpm2AttestationSettings
      Set-TrustAuthorityCluster
      Export-TrustAuthorityServicesInfo
  • The VMware.VimAutomation.vROps module has been updated to support VMware vRealize Operations Manager 8.0 and work on Linux and macOS.
  • The VMware.VimAutomation.License module has been ported to work on Linux and macOS.
  • The VMware.Vim module has been updated to contain API bindings for vSphere 7.0.
  • The VMware.VimAutomation.HorizonView module has been updated to support VMware Horizon 7 version 7.12.
  • The New-VcsOAuthSecurityContext cmdlet has been moved from the VMware.VimAutomation.Vmc module to the new VMware.CloudServices module.
  • The security of the New-VcsOAuthSecurityContext cmdlet has been improved when using a browser authentication by adding support for Proof Key for Code Exchange (PKCE).
  • The New-OAuthSecurityContext cmdlet has been added to the VMware.VimAutomation.Common module to allow an OAuth authentication in vSphere 7.0.
  • The Network and StoragePolicy parameters have been added to the Move-VM cmdlet. The Network parameter allows to specify the virtual network, including opaque networks, to which you want to migrate the virtual machine network adapters. The StoragePolicy parameter provides the ability to specify the storage policy for the virtual machine.
  • The Get-VMGuestDisk cmdlet has been added to provide guest disk information for a virtual hard disk.
  • The VMGuestDisk parameter has been added to the Get-HardDisk cmdlet to allow retrieving virtual hard disks by guest disks.
  • The NetworkStack parameter has been added to the New-VMHostNetworkAdapter cmdlet to allow specifying the network stack of a virtual machine host network adapter.
  • The Open-VMConsoleWindow cmdlet has been ported to work on Linux and macOS and VMware VMRC is a prerequisite for this cmdlet.
  • The UseRemoteAuthentication parameter has been added to the Connect-NsxtServer cmdlet to support the Workspace ONE authentication.
  • The MobilityGroupMigration parameter has been added to the New-HCXMigration cmdlet enabling you to create a client side HCXMigration object which can be provided as an input to the New-HCXMobilityGroup cmdlet.
  • The Vcpus and Memory parameters have been added to the Get-HCXMigration cmdlet.
  • The Force parameter has been added to the Remove-HCXServiceMesh and Remove-HCXNetworkExtension cmdlets providing the ability to force remove the service mesh and network extensions.

For more information on changes made in VMware PowerCLI 12.0.0, including improvements, security enhancements, and deprecated features, see the VMware PowerCLI Change Log. For more information on specific product features, see the VMware PowerCLI 12.0.0 User's Guide. For more information on specific cmdlets, see the VMware PowerCLI 12.0.0 Cmdlet Reference.

Resolved Issues

The following issues have been resolved in VMware PowerCLI 12.0.0:

  • Add-Passthroughdevice
    Add-Passthroughdevice fails when you try to add another PCI device.
  • Get-AlarmDefinition
    When using Remove-AlarmAction, you cannot remove some actions for a predefined alarm.
  • Get-CIUSer
    If your role is not set, Get-CIUser fails.
  • Get-ContentLibrary
    Get-ContentLibrary throws an error for content libraries that are backed by a file share.
  • Get-HCXMigration
    When using Get-HCXMigration, some filters like State, NumberOfMigration, and Username might not work.
  • Get-OMAlertDefinition
    If you run Get-OMAlertDefinition against vRealize Operations Manager 7.0 or later, you receive an error message of type fromIndex(1000) > toIndex(448).
  • Get-SpbmStoragePolicy
    When trying to retrieve Virtual Volumes replication group details, the operation throws an exception of type The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.
  • Get-SpbmReplicationGroup
    If the environment has a large number of replication groups, Get-SpbmReplicationGroup throws an error message of type Exceeded the maximum number of elements in batch that the VASA provider can support.
  • Move-VM
    Cross vCenter vMotion of powered off virtual machines may fail to properly attach the network adapters to the specified port group and may leave them disconnected.
  • New-AlarmAction
    When creating an email alarm action with multiple recipients, they do not appear correctly in the UI.
  • New-HardDisk
    When running New-HardDisk, the maximum number of hard disks per SCSI controller is incorrectly determined by the ESXi server version instead of by the virtual machine hardware version.
  • Set-HCXMobilityGroupMigration
    • When using Set-HCXMobilityGroupMigration, you cannot edit multiple parameters at the same time
    • When running Set-HCXMobilityGroupMigration, you cannot perform successive update operations on the mobility group.
  • Set-NetworkAdapter
    You cannot connect virtual machine network adapters to opaque networks.
  • Other
    • When calling UpdateServerData() method on a vCloud Director object, you might receive an error message of type Resource not found.

Known Issues

VMware PowerCLI 12.0.0 is known to have the following issues:

  • Add-EntityBaseline
    The text of the error message that appears when you try to attach a baseline to a non-existing entity is improper.
  • Apply-DrsRecommendation
    Apply-DrsRecommendation runs in asynchronous mode even when called without the RunAsync parameter.
  • Connect-VIServer
    • Connect-VIServer cannot use the Kerberos network authentication protocol to connect to vCenter Server systems that are installed under a custom user account on a Windows system. Connect-VIServer uses NTLM instead.
      Workaround: Install and run vCenter Server under the default system account. Alternatively, you can:
      1. Add another IP to the Windows system where vCenter Server is running.
      2. Register a new A DNS record for the IP.
      3. Run the setspn tool to register an SPN for the new DNS record and associate it with the vCenter Server account under which vCenter Server was installed.
        For example: To register an SPN for the vc-alias.domain.com DNS and the VCAccount account, run:
        setspn -A -HOST/vc-alias.domain.com Domain\VCAccount
      4. Use the new DNS name to connect to the vCenter Server system.
        For example: Run Connect-VIServer vc-alias.domain.com
    • When you use the User and Password parameters to authenticate with a vCenter Server 5.1 or later system, you might not be recognized as a domain user.
      Workaround: Pass the domain name and the user name to the User parameter.
      For example: Run Connect-VIServer my.server.com -Username MyDomain\MyUserName -Password MyPassword
    • When you want to reconnect to a server in the same session by running Connect-VIServer on Windows 7, you might receive an error message of type Invalid server certificate or similar to this. The issue might occur even if you specify that invalid certificate errors should be ignored.
      Workaround:
      1. Use Windows 10.
      2. Restart the PowerShell session.
      3. Increase the value of [System.Net.ServicePointManager]::MaxServicePointIdleTime to a value that is larger than the expected idle time of the script.
      4. Trust the certificate of the server from the Windows systems certificate store.
  • Copy-DatastoreItem
    Copy-DatastoreItem throws an error when uploading an item to the root folder of a Datastore Provider drive.
  • Copy-HardDisk
    • On vCenter Server 5.0, Copy-HardDisk cannot change the storage format of the destination hard disk.
    • Using the Thick2GB value for the DestinationStorageFormat parameter is not supported. If you specify this value against an ESX 5.0 host, the connection to the ESX environment is lost.
  • Get-CIDatastore
    When you specify the ProviderVdc parameter, Get-CIDatastore might return incorrect results if multiple provider virtual data centers share a datastore.
  • Get-CIVM
    When you are logged in as SysAdmin, the Get-CIVM cmdlet returns system vShield Edge virtual machines used to establish perimeter security in the NAT-routed network.
  • Get-CIVApp
    Get-CIVApp returns all virtual appliance objects in the inventory including expired ones.
  • Get-CIVAppTemplate
    Get-CIVAppTemplate returns all virtual appliance templates in the inventory including expired ones.
  • Get-Cluster
    You cannot specify the VM or VMHost parameters in combination with the Location and NoRecursion parameters.
  • Get-Datacenter
    You cannot specify the VM or VMHost parameters in combination with the Location and NoRecursion parameters.
  • Get-HardDisk
    The value of the Persistence property of the object returned by Get-HardDisk is different depending on the way the hard disk is retrieved by the cmdlet.
  • Get-HCXMigration
    Тhe Username parameter of the Get-HCXMigration cmdlet is case-sensitive.
    Workaround: Use the username format supported by API. For example, use Administrator@VSPHERE.LOCAL.
  • Get-Log
    When you try to retrieve a log from vSphere 6.0 or later, you might receive a There is an error in XML document error message.
    Workaround: Use the Bundle parameter to retrieve the whole log bundle, or the StartLineNum and NumLines parameters to retrieve specific lines from the log.
  • Get-OMAlert
    If you use the AssignedUser parameter to filter alerts and some of the retrieved alerts are assigned to the admin user, Get-OMAlert returns those alerts with empty AssignedUser property.
    Workaround: To retrieve only the non-assigned alerts, use both the AssignedUser and Status parameters as filters.
  • Get-OMResource
    The ResourceKind parameter does not work against vRealize Operations Manager 6.1.
    Note: The parameter works against vRealize Operations Manager 6.2.
  • Get-OMStat
    The Key parameter does not work against vRealize Operations Manager 6.1.
    Workaround: Use a client-side script to filter by key.
    Note: The parameter works against vRealize Operations Manager 6.2.
  • Get-OMStatKey
    • If you retrieve statistic keys by OMResource instance, some items might have empty properties. The returned keys that identify metric data for a specific instance object, like a CPU or network adapter, do not contain a description or ExtensionData info.
    • Get-OMStatKey does not work against vRealize Operations Manager 6.1.
      Note: The cmdlet works against vRealize Operations Manager 6.2.
  • Get-OMUser
    Get-OMUser does not return the vRealize Operations Manager amdin user and other internal users. If you specify admin for the Name parameter, Get-OMUser returns $null. For more information, see the vRealize Operations Manager 6.0.3 Release Notes.
  • Get-ResourcePool
    You cannot specify the VM parameter in combination with the Location and NoRecursion parameters.
  • Get-ScsiLun
    When you use Get-ScsiLun to retrieve Powerpath devices, the value of their MultipathPolicy property is shown as Unknown.
  • Get-SpbmStoragePolicy
    If you try to retrieve storage policy contents and any VASA provider does not comply with the constraints in the resource storage policy, you receive a validation error for these resource storage policies. All valid storage policies are returned by the cmdlet.
  • Get-TagAssignment
    If you run Get-TagAssignment against a vCenter Server 6.0.x system that uses a non-default HTTPS port, the cmdlet fails.
    Workaround: Configure the vCenter Server 6.0.x system to use the default HTTPS port (443).
  • Get-Template
    The Location parameter of Get-Template does not accept Cluster objects.
  • Get-UsbDevice
    Get-UsbDevice cannot obtain USB devices from snapshots.
  • Get-View
    • If you run Get-View with the SearchRoot and ViewType parameters and specify a property path for the Property parameter, the linked view of the cmdlet output is not populated.
    • You cannot retrieve the VMware PowerCLI view of the underlying port group from the vCloud Director PowerCLI view of a network pool backed by the port group.
  • Get-VIEvent
    • If a nonexisting user is specified, Get-VIEvent returns the events for all existing users.
    • Objects returned by Get-VIEvent contain ManagedObjectReference types that are not compatible with the Get-View cmdlet.
  • Get-VM
    • If a virtual machine is in the root virtual machine folder within a vApp and you try to retrieve the virtual machine by using the NoRecoursion parameter of Get-VM and specifying the root folder for the Location parameter, the virtual machine is not returned.
    • If a virtual machine is in the root virtual machine folder within a vApp and you try to retrieve the virtual machine by using Get-VM, the <vm>.Folder and <vm>.FolderId properties are returned as $null.
    • During the process of creating a template from a virtual machine, Get-VM returns both the virtual machine and template objects.
  • Get-VMHostProfileRequiredInput
    On vCenter Server 5.0, Get-VMHostProfileRequiredInput returns a result even if you pass a hashtable with inapplicable elements.
  • Get-VsanResyncingComponent
    Even if vCenter Server 6.0.x shows there are synchronizing components, Get-VsanResyncingComponent returns $null.
    Workaround: Upgrade to vCenter Server 6.5 or later.
  • Get-VTpmCertification
    When you run Get-VTpmCertification on Linux or macOS, the Subject and SubjectName parameters do not appear correct.
  • Import-Module
    • If you try to import the VMware.ImageBuilder module in a clean PowerShell session, you receive an error message and the import process fails.
      Workaround: Import the VMware.VimAutomation.Core module before importing the VMware.ImageBuilder module.
    • If you try to import VMware.PowerCLI module on PowerShell Core 6.0.1, you receive an error message and the import process fails.
      Workaround: Import each module separately.
  • Import-vApp
    When you try to import a vApp and specify a datastore cluster to the Datastore parameter, PowerCLI automatically selects datastores from the specified cluster where to store the vApp, and if some of the datastores do not have enough free space, you receive an Invalid datastore format error message.
    Workaround: Ensure that there is enough free space on all datastores in the cluster, or use the Datastore parameter to specify a datastore that has enough free space.
  • Install-VMHostPatch
    • Install-VMHostPatch cannot install patches on diskless ESXi servers.
    • Install-VMHostPatch cannot apply VIB patches.
      Workaround: Use metadata.zip patches.
  • Invoke-VMScript
    When using Invoke-VMScript to invoke multi-line BAT and BASH scripts, the command might not run all the script lines.
  • Move-VM
    • When you run Move-VM and you try to pass two virtual machines by pipelinе, the destination vApp might fail.
      Workaround: Use the following syntax:
        @($vm1, $vm2) | %{
        $_ | Move-VM -Destination $destVApp
        }
    • When you use Move-VM to migrate a virtual machine to another vCenter Server system, the operation fails with a message of type A general system error occurred: Signature verification error. No verification key available.
    • This error occurs when the following criteria are met:
        The source vCenter Server system is version 6.5 or 6.5 Update 1.
        The source and destination vCenter Servers systems are associated with different Platform Services Controllers.
        The Secure Token Service (STS) instances on the two Platform Service Controllers are configured to use different signing certificates.
      Workaround: Upgrade the source vCenter Server system to version 6.5 Update 2 or later.
    • When you run Move-VM against vSphere 6.7 or later, you cannot move a virtual machine to the folder destination.
      Workaround: Instead of passing folders to the Location parameter, use the InventoryLocation parameter.
  • New-CIVAppNetwork
    You can create a vApp network by specifying inconsistent network settings. While the settings of the newly created vApp network are inconsistent, you can only modify them to restore their consistency. To configure the vApp network, run Set-CIVAppNetwork.
  • New-DrsRule
    If you try to create a new DRS rule by specifying multiple clusters from different servers and virtual machines with identical IDs on different servers, you receive an error message and the process fails.
    Workaround: Create a new DRS rule for each cluster separately.
  • New-HardDisk
    New-HardDisk does not prompt for confirmation when you try to create a VMDK anti-affinity rule that overwrites an existing one.
  • New-HCXMigration
    You cannot trigger an HCX OS Assisted Migration, if the destination site is vCloud Director.
  • New-HCXServiceMesh
    When you run New-HCXServiceMesh, the Service Mesh object accepts destination as an input at the organization virtual datacenter level, but the Service Mesh object is created at an organization level.
  • New-OSCustomizationSpec
    You cannot add a virtual machine to a domain by using OS customization.
  • New-PSDrive
    When you run New-PSDrive on PowerShell Core 6.2 to create a new PSDrive with a root on a PowerCLI drive, the operation fails with a message of type The specified root path does not exist or is not a container.
    Workaround: Use an older version of PowerShell or use the PowerCLI drive.
  • New-SpbmRule
    When you create an SPBM rule, you can specify a value for the CacheReservation property that is outside the valid range of 0 to 100. You can specify a value from 0 to 1,000,000 and divide it by 10,000 to get the value in percentage. This value in percentage is displayed in the vSphere Web Client, while the actual value that you provide is displayed in PowerCLI.
  • New-VAIOFilter
    If you try to install a VAIO filter on a cluster, the VAIO filter might install successfully on some hosts, but fail to install on other hosts.
    Workaround: Use Get-VAIOFilter to check whether the same VAIO filter is already installed on the cluster. If installed, use Remove-VAIOFilter before trying to install the same VAIO filter again.
  • New-VM
    When you are connected to a server which uses an invalid certificate and you specify the ContentLibraryItem parameter when running New-VM, the process might become non-responsive.
    Workaround: Run Set-PowerCLIConfiguration and set the value of the InvalidCertificateAction parameter to Ignore or Fail.
  • New-VMHostNetworkAdapter
    When you run New-VMHostNetworkAdapter against vSphere 6.7 and specify the FaultToleranceLoggingEnabled parameter, you might receive an error message of type The VirtualNic capability 'faultToleranceLogging' is not supported on VMHost.
    Workaround:
    1. Create a network adapter without specifying the FaultToleranceLoggingEnabled parameter.
    2. Update the network adapter by running Set-VMHostNetworkAdapter and specifying the FaultToleranceLoggingEnabled parameter.
  • Remove-VMHostNtpServer
    When you run Remove-VMHostNtpServer with an ESX host version 7.0, you cannot remove the last NTP server from the list of the configured NTP servers.
    Workaround:
    1. To set a different NTP server, add the new NTP server by using Add-VMHostNtpServer and then remove the old NTP server by running Remove-VmHostNtpServer.
    2. To clear the list of the configured NTP servers, use the following script:
        $dateTimeConfig = New-Object VMware.Vim.HostDateTimeConfig
        $dateTimeConfig.NtpConfig = New-Object VMware.Vim.HostNtpConfig
        $dateTimeConfig.NtpConfig.Server = ""
        $dateTimeSystem = Get-View -Id $vmHost.ExtensionData.ConfigManager.DateTimeSystem
        $dateTimeSystem.UpdateDateTimeConfig($dateTimeConfig)
  • Set-DRSRule
    If you try to update multiple DRS rules from different servers and specify virtual machines with identical IDs on different servers, you receive an error message and the process fails.
    Workaround: Update each DRS rule separately.
  • Set-OSCustomizationSpec
    When you try to set the Workgroup parameter of Set-OSCustomizationSpec against .NET core on macOS, the cmdlet may fail with а message of type Value cannot be null.
  • Set-ScsiController
    Set-ScsiController cannot set both the Type and BusSharingMode parameters at the same time when running against vCenter Server or ESX/ESXi versions 5.1 or earlier.
    Workaround: First run the cmdlet to set the type and then run it again to configure the bus sharing mode.
  • Set-SpbmEntityConfiguration
    You cannot disable SPBM on clusters in vSphere 6.0 environments.
  • Set-VMGuestNetworkInterface
    On Windows operating systems, Set-VMGuestNetworkInterface becomes non-responsive if the provided IP address conflicts with an existing IP address on the network.
  • Set-VMHost
    • When an ESX/ESXi host is registered with multiple vCenter Server systems, you cannot change the state of the disconnected host to connected.
      Workaround:
      1. Run Remove-VMHost to remove the disconnected host from the vCenter Server system that it is registered with.
      2. Run Add-VMHost to attach the host to the vCenter Server system again.
      3. (Optional) Run Set-VMHost to restore the initial configuration of the host.
      The operation authenticates you with the host and automatically changes its state to connected.
    • When you update the value of the VMSwapfileDatastore parameter and immediately retrieve the host information, the value of VMSwapfileDatastore might appear unchanged. If you retrieve the host information after a brief period of time, the change of the property value should be reflected.
  • Set-VMHostAuthentication
    When you use Set-VMHostAuthentication, the host can leave the domain without an error even if the domain user is used for permission on that host.
  • Set-VMHostNetwork
    Set-VMHostNetwork cannot clear the values of the ConsoleV6Gateway and VMKernelV6Gateway properties of the input object.
  • Set-VMHostNetworkAdapter
    • If you connect to a vCenter Server 6.5 system and set an IPv6 address to a virtual NIC, the value of the AutomaticIPv6 property is changed to $true instead of $false.
      Workaround: When you set the IPv6 address, explicitly specify the value of the AutomaticIPv6 parameter as $false.
    • If you have vMotion enabled on one VMKernel NIC and you enable it on a second NIC on the same switch by using Set-VMHostNetworkAdapter, the VMotionEnabled property of the second NIC might still report that vMotion is not enabled. This is because only one NIC can be selected for vMotion, but more than one can be candidate NICs for vMotion. To change the currently active vMotion NIC, first disable the current one and then enable the one you want.
  • Set-VMHostSNMP
    • The default value of the Set-VMHostSNMP TargetPort parameter is a random number instead of the port number.
    • Set-VMHostSNMP skips the value of the TargetPort parameter.
    • Set-VMHostSNMP fails to enable VMHostSNMP and to set the ReadOnlyCommunityString when called for the first time.
      Workaround: Run the command again.
  • Set-VsanClusterConfiguration
    When you run Set-VsanClusterConfiguration, the AddSilentHealthCheck and RemoveSilentHealthCheck parameters do not update any values.
    Workaround: Update to vSAN 6.7.
  • Test-HCXMigration
    Test-HCXMigration throws an exception instead of a warning. This might mislead you that running Start-HCXMigration is not possible.
  • Inventory Provider
    When run within the Inventory Provider, Get-Datacenter returns the data centers from the default servers instead from the VIServer folder of the Inventory Provider drive.
  • Other
    • If you have installed the SAP Crystal Reports runtime engine for .NET Framework and try to start the 64-bit version of PowerCLI, you might receive an error message of type Could not load file or assembly ‘log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.
      Workaround: Start Windows PowerShell (x86) and import the PowerCLI modules that you want to use.
    • When you run a cmdlet and the operation fails on the server side, you might receive a There is an error in the XML document. error message. This is not a valid server error and it is returned when PowerShell is unable to read the actual server-side error.
      Workaround: Use the vSphere Web Client to check the actual server-side error.
    • If you use multiple PowerShell ISE tabs and try to run Import-Module, you might receive an error message.
      Workaround: Use multiple PowerShell ISE instances instead of using multiple ISE tabs within a single ISE instance.
    • If you apply a policy created from VASA 1.0 capabilities to a virtual machine created on a vSAN datastore, the compliance status of the virtual machine is incorrectly displayed as non-compliant instead of not-applicable.
    • If you clone a virtual machine from an NFS datastore to a vSAN datastore with a mixed storage policy that has both VASA 1.0 and vSAN rule sets, the policy associated with VM Home is removed from the virtual machine.
    • If you create a linked clone of a virtual machine which is associated with a VASA 1.0 profile and then move the cloned virtual machine to a vSAN datastore, the virtual machine's VM Home and HardDisk properties are incorrectly displayed as compliant.
    • If you apply a storage policy that has vSAN capabilities to a HardDisk object, the SPBM compliance status of the HardDisk object changes to outOfDate.
    • You can modify the SPBM configuration of VirtualMachine and HardDisk objects after disabling SPBM on the cluster in which the objects are located.
    • Users without the Profile-driven storage update privilege can modify SPBM configuration on VirtualMachine and HardDisk objects, and can also enable or disable SPBM on Cluster objects.
    • You cannot create a storage policy if you do not specify a description for a tag or tag category.
    • You can create a storage policy by using a tag that has already been deleted from the SPBM server. When you retrieve information about the policy, the tag is shown as missing.
      Workaround: Use the Get-Tag cmdlet to verify that the tag you want to use exists on the SPBM server.
    • You can create rules by specifying a value for vSAN capabilities of the type ValueType. However, PowerCLI cannot verify whether the value assigned to the capability is within the allowed range of values because the AllowedValue property is not populated.
    • If you are logged in to vCloud Director as a regular user or an organization administrator, you might not be able to retrieve CIView by ID for some of the cloud objects.
      Workaround: Pass the object to the Get-CIView cmdlet.
    • If you try to run a script or binary code which creates new instances of the VimClient class from the VMware.Vim.dll module, you might receive a MissingMethodException error message.
      Workaround: Create new instances of the VimClientImpl class instead of the VimClient class.
    • The types labels in the UpdateViewData property are case-sensitive.
    • All guest OS cmdlets support use of SSPI for Windows guest machines if the underlying vCenter Server is version 5.0. This might not be valid for users who are local, and not domain users. Gest OS cmdlets are Invoke-VMScript and Set-HardDisk when used for guest disk resizing.
    • If you run an HCX cmdlet when the HCX service is down, you might receive an error message of type Could not convert field messages of structure 'com.vmware.vapi.std.errors.service_unavailable'.
      Workaround: Verify that the HCX services are working and run the command again.
    • Certain methods in com.vmware.nsx.model.firewall_section enforce optional strings where they are not required.