## PowerCLI Reference

# Get-DrsRule

## Synopsis

This cmdlet retrieves the list of DRS rules for the specified clusters.

Syntax

Get-DrsRule [[-Name] <String[]>] [-Cluster] <Cluster[]> [[-VM] <VirtualMachine[]>] [-Type <ResourceSchedulingRuleType[]>] [-Server <VIServer[]>] [<CommonParameters>]
Get-DrsRule [[-Name] <String[]>] [-Cluster] <Cluster[]> [[-VM] <VirtualMachine[]>] [-VMHost <VMHost[]>] [-Server <VIServer[]>] [<CommonParameters>]

Related Commands

Online version
New-DrsRule
Remove-DrsRule
Set-DrsRule

Detailed Description

This cmdlet retrieves the list of DRS rules for the specified clusters. Each rule defines the virtual machines that can run on the same host (affinity rule) or must run on different hosts (anti-affinity).
Note: To retrieve VMHostAffinity rules, you need to state this explicitly by using the Type or the VMHost parameter. Otherwise, this cmdlet returns VMAffinity and VMAntiAffinity rules.

Parameters

Name | Type | Description | Required? | Pipeline Input | Default Value
--- | --- | --- | --- | --- | ---
Name | String[] | Specifies the name of the DRS rule you want to retrieve. | false | false
Cluster | Cluster[] | Specifies the clusters for which you want to retrieve the DRS rules. | true | true (ByValue)
VM | VirtualMachine[] | Specifies virtual machines to filter the DRS rules that reference them. Passing values to this parameter through a pipeline is deprecated and will be removed in a future release. | false | true (ByValue)
Server | VIServer[] | Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. | false | false
Type | ResourceSchedulingRuleType[] | Specifies the type of DRS rules you want to retrieve. This parameter accepts VMAntiAffinity, VMAffinity, and VMHostAffinity values. You cannot set this parameter, when the VMHost parameter is specified. | false | false
VMHost | VMHost[] | Specifies VM hosts to filter the DRS rules that reference them. When this parameter is specified, the cmdlet returns only VMHostAffinity rules. You cannot set this parameter, when the Type parameter is specified. | false | true (ByValue)

Return Type

Zero or more DrsRule objects

Notes

Examples

-------------- Example 1 --------------

    $myCluster = Get-Cluster -Name "MyCluster1"
    Get-DrsRule -Cluster $myCluster -Name "*Rule1*"

Retrieves the DRS rules for the cluster stored in the $myCluster variable, whose names contain "Rule1".

-------------- Example 2 --------------

    Get-Cluster -Name 'MyCluster1' | Get-DrsRule

Retrieves the virtual machine affinity and anti-affinity rules for the specified cluster by pipeline.

-------------- Example 3 --------------

    $myVm1 = Get-VM -Name 'MyVm1'
    $myCluster1 = Get-Cluster 'MyCluster1'
    Get-DrsRule -Cluster $myCluster1 -VM $myVm1

Retrieves the virtual machine affinity and anti-affinity rules for the specified virtual machine in the specified cluster.

-------------- Example 4 --------------

    Get-Cluster 'MyCluster1' | Get-DrsRule -Type VMHostAffinity

Retrieves virtual machine to host affinity rules for the specified cluster by pipeline.

-------------- Example 5 --------------

    $myVMHost1 = Get-VMHost -Name 'MyVMHost1'
    $myCluster1 = Get-Cluster -Name 'MyCluster1'
    Get-DrsRule -Cluster $myCluster1 -VMHost $myVMHost1

Retrieves virtual machine to host affinity rules for the specified host and cluster.

Copyright © VMware, Inc. All rights reserved.