DSCResources/Resources/Vsphere.VmHostVssPortGroupSecurity.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

$rules = $stig.RuleList | Select-Rule -Type 'VspherePortGroupSecurityRule'

foreach ($vm in $vmGroup)
{
    foreach ($rule in $rules)
    {
        if ($rule.AllowPromiscuous)
        {
            $allowPromiscuousInherited = $rule.AllowPromiscuousInherited
        }
        if ($rule.ForgedTransmits)
        {
            $forgedTransmitsInherited  = $rule.ForgedTransmitsInherited
        }
        if ($rule.MacChanges)
        {
            $macChangesInherited  = $rule.MacChangesInherited
        }

        $idValue += $rule.id
    }

    VmHostVssPortGroupSecurity "$vm-$idValue"
    {
        Name                      = $HostIP
        Server                    = $ServerIP
        Credential                = $Credential
        VmHostName                = $vm
        AllowPromiscuousInherited = [bool] $allowPromiscuousInherited
        ForgedTransmitsInherited  = [bool] $forgedTransmitsInherited
        MacChangesInherited       = [bool] $macChangesInherited
        Ensure                    = 'Present'
    }
}