Examples/NanoExample.ps1
Configuration NanoExample { <# Requires the following DSC resources: xNetworking (v2.5.0.0 or later) : https://github.com/PowerShell/xNetworking xPSDesiredStateConfiguration (v3.7.0.0 or later) : https://github.com/PowerShell/xPSDesiredStateConfiguration #> param () Import-DscResource -Module xNetworking, xPSDesiredStateConfiguration; node $AllNodes.Where({$true}).NodeName { LocalConfigurationManager { RebootNodeIfNeeded = $true; AllowModuleOverwrite = $true; ConfigurationMode = 'ApplyOnly'; CertificateID = $node.Thumbprint; } if (-not [System.String]::IsNullOrEmpty($node.IPAddress)) { xIPAddress 'PrimaryIPAddress' { IPAddress = $node.IPAddress; InterfaceAlias = $node.InterfaceAlias; SubnetMask = $node.SubnetMask; AddressFamily = $node.AddressFamily; } if (-not [System.String]::IsNullOrEmpty($node.DnsServerAddress)) { xDnsServerAddress 'PrimaryDNSClient' { Address = $node.DnsServerAddress; InterfaceAlias = $node.InterfaceAlias; AddressFamily = $node.AddressFamily; } } if (-not [System.String]::IsNullOrEmpty($node.DefaultGateway)) { xDefaultGatewayAddress 'PrimaryDefaultGateway' { InterfaceAlias = $node.InterfaceAlias; Address = $node.DefaultGateway; AddressFamily = $node.AddressFamily; } } } #end if IPAddress xFirewall 'FPS-ICMP4-ERQ-In' { Name = 'FPS-ICMP4-ERQ-In'; DisplayName = 'File and Printer Sharing (Echo Request - ICMPv4-In)'; Description = 'Echo request messages are sent as ping requests to other nodes.'; Direction = 'Inbound'; Action = 'Allow'; Enabled = 'True'; Profile = 'Any'; } xFirewall 'FPS-ICMP6-ERQ-In' { Name = 'FPS-ICMP6-ERQ-In'; DisplayName = 'File and Printer Sharing (Echo Request - ICMPv6-In)'; Description = 'Echo request messages are sent as ping requests to other nodes.'; Direction = 'Inbound'; Action = 'Allow'; Enabled = 'True'; Profile = 'Any'; } xWindowsOptionalFeature 'MicrosoftHyperV' { Name = 'Microsoft-Hyper-V'; Ensure = 'Present'; } } #end nodes ALL } #end Configuration Example |