Configurations/Archive/Deprecated-POC-StandAlone-Server-GUI/StandAlone-Server-Gui.ps1
Configuration AutoLab { param ( [Parameter()] [ValidateNotNull()] [PSCredential] $Credential = (Get-Credential -Credential 'Administrator') ) #region DSC Resources Import-DSCresource -ModuleName PSDesiredStateConfiguration, @{ModuleName="xComputerManagement";ModuleVersion="1.8.0.0"}, @{ModuleName="xNetworking";ModuleVersion="2.12.0.0"} #endregion node $AllNodes.Where({$true}).NodeName { #region LCM configuration LocalConfigurationManager { RebootNodeIfNeeded = $true AllowModuleOverwrite = $true ConfigurationMode = 'ApplyOnly' } #endregion #region IPaddress settings 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.DefaultGateway)) { xDefaultGatewayAddress 'PrimaryDefaultGateway' { InterfaceAlias = $node.InterfaceAlias Address = $node.DefaultGateway 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.DnsConnectionSuffix)) { xDnsConnectionSuffix 'PrimaryConnectionSuffix' { InterfaceAlias = $node.InterfaceAlias ConnectionSpecificSuffix = $node.DnsConnectionSuffix } } } #End IF #endregion #region Firewall Rules 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' } xFirewall 'FPS-SMB-In-TCP' { Name = 'FPS-SMB-In-TCP' DisplayName = 'File and Printer Sharing (SMB-In)' Description = 'Inbound rule for File and Printer Sharing to allow Server Message Block transmission and reception via Named Pipes. [TCP 445]' Direction = 'Inbound' Action = 'Allow' Enabled = 'True' Profile = 'Any' } #endregion } #end nodes ALL #region Server config node $AllNodes.Where({$_.Role -in 'Server'}).NodeName { xComputer ComputerName { Name = $Node.NodeName } foreach ($feature in @( 'web-Server' #'GPMC', #'RSAT-AD-Tools', #'DHCP', #'RSAT-DHCP' )) { WindowsFeature $feature.Replace('-','') { Ensure = 'Present' Name = $feature IncludeAllSubFeature = $False } } }#end Server Config #endregion } #end Configuration Example AutoLab -OutputPath .\ -ConfigurationData .\*.psd1 |