├── .build └── FixEncoding.ps1 ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── General.md │ ├── Problem_with_module.yml │ ├── Problem_with_resource.yml │ ├── Resource_proposal.yml │ └── config.yml └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .markdownlint.json ├── .vscode ├── analyzersettings.psd1 ├── launch.json ├── settings.json └── tasks.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── GitVersion.yml ├── LICENSE ├── README.md ├── RequiredModules.psd1 ├── Resolve-Dependency.ps1 ├── Resolve-Dependency.psd1 ├── SECURITY.md ├── azure-pipelines On-Prem.yml ├── azure-pipelines.yml ├── build.ps1 ├── build.yaml ├── codecov.yml ├── doc ├── AddsDomain.adoc ├── AddsDomainController.adoc ├── AddsDomainPrincipals.adoc ├── AddsOrgUnitsAndGroups.adoc ├── AddsProtectFromAccidentalDeletion.adoc ├── AddsServicePrincipalNames.adoc ├── AddsSiteLinks.adoc ├── AddsSitesSubnets.adoc ├── AddsTrusts.adoc ├── AddsWaitForDomains.adoc ├── AuditPolicies.adoc ├── AzureConnectedMachine.adoc ├── Bitlocker.adoc ├── CertificateAuthorities.adoc ├── CertificateExports.adoc ├── CertificateImports.adoc ├── CertificateRequests.adoc ├── ChocolateyPackages.adoc ├── ChocolateyPackages2nd.adoc ├── ChocolateyPackages3rd.adoc ├── ComputerSettings.adoc ├── ConfigurationBase.adoc ├── ConfigurationManagerConfiguration.adoc ├── ConfigurationManagerDeployment.adoc ├── ConfigurationManagerDistributionGroups.adoc ├── DfsNamespaces.adoc ├── DhcpScopeOptions.adoc ├── DhcpScopes.adoc ├── DhcpServer.adoc ├── DhcpServerAuthorization.adoc ├── DhcpServerOptionDefinitions.adoc ├── DhcpServerOptions.adoc ├── DiskAccessPaths.adoc ├── Disks.adoc ├── DnsServerARecords.adoc ├── DnsServerAdZones.adoc ├── DnsServerCNameRecords.adoc ├── DnsServerConditionalForwarders.adoc ├── DnsServerForwarders.adoc ├── DnsServerLegacySettings.adoc ├── DnsServerMxRecords.adoc ├── DnsServerPrimaryZones.adoc ├── DnsServerQueryResolutionPolicies.adoc ├── DnsServerResponseRateLimiting.adoc ├── DnsServerRootHints.adoc ├── DnsServerSettings.adoc ├── DnsServerZonesAging.adoc ├── DscDiagnostic.adoc ├── DscLcmController.adoc ├── DscLcmMaintenanceWindows.adoc ├── DscPullServer.adoc ├── DscPullServerSql.adoc ├── DscTagging.adoc ├── EncryptPwd4Yml.ps1 ├── EnvironmentVariables.adoc ├── ExchangeAutoMountPoints.adoc ├── ExchangeConfiguration.adoc ├── ExchangeDagProvisioning.adoc ├── ExchangeMailboxDatabaseCopies.adoc ├── ExchangeMailboxDatabases.adoc ├── ExchangeProvisioning.adoc ├── FailoverCluster.adoc ├── FileContents.adoc ├── FilesAndFolders.adoc ├── FirewallProfiles.adoc ├── FirewallRules.adoc ├── Globals.adoc ├── HostsFileEntries.adoc ├── HyperV.adoc ├── HyperVReplica.adoc ├── HyperVState.adoc ├── IpConfiguration.adoc ├── JeaEndpoints.adoc ├── JeaRoles.adoc ├── LocalGroups.adoc ├── LocalUsers.adoc ├── MmaAgent.adoc ├── MountImages.adoc ├── Network.adoc ├── NetworkIpConfiguration.adoc ├── OfficeOnlineServerFarmConfig.adoc ├── OfficeOnlineServerMachineConfig.adoc ├── OfficeOnlineServerSetup.adoc ├── OpticalDiskDrives.adoc ├── PowerPlans.adoc ├── PowerShellRepositories.adoc ├── PowershellExecutionPolicies.adoc ├── README.adoc ├── RegistryPolicies.adoc ├── RegistryValues.adoc ├── RemoteDesktopCertificates.adoc ├── RemoteDesktopCollections.adoc ├── RemoteDesktopDeployment.adoc ├── RemoteDesktopHAMode.adoc ├── RemoteDesktopLicensing.adoc ├── RenameNetworkAdapter.adoc ├── RestartSystem.adoc ├── Robocopies.adoc ├── ScheduledTasks.adoc ├── ScomComponents.adoc ├── ScomManagementPacks.adoc ├── ScomSettings.adoc ├── Scripts.adoc ├── SecurityBase.adoc ├── SecurityPolicies.adoc ├── SharePointCacheAccounts.adoc ├── SharePointContentDatabases.adoc ├── SharePointManagedAccounts.adoc ├── SharePointManagedPaths.adoc ├── SharePointPrereq.adoc ├── SharePointProvisioning.adoc ├── SharePointServiceAppPools.adoc ├── SharePointServiceInstances.adoc ├── SharePointSetup.adoc ├── SharePointSites.adoc ├── SharePointWebApplications.adoc ├── SmbShares.adoc ├── SoftwarePackages.adoc ├── SqlAGDatabases.adoc ├── SqlAGListeners.adoc ├── SqlAGReplicas.adoc ├── SqlAGs.adoc ├── SqlAgentAlerts.adoc ├── SqlAgentOperators.adoc ├── SqlAliases.adoc ├── SqlAlwaysOnServices.adoc ├── SqlConfigurations.adoc ├── SqlDatabaseMailSetups.adoc ├── SqlDatabases.adoc ├── SqlEndpoints.adoc ├── SqlLogins.adoc ├── SqlPermissions.adoc ├── SqlRoles.adoc ├── SqlScriptQueries.adoc ├── SqlServer.adoc ├── SwitchLcmMode.adoc ├── UpdateServices.adoc ├── VSTSAgents.adoc ├── VirtualMemoryFiles.adoc ├── WaitForAllNodes.adoc ├── WaitForAnyNode.adoc ├── WaitForSomeNodes.adoc ├── Wds.adoc ├── WebApplicationPools.adoc ├── WebApplications.adoc ├── WebBrowser.adoc ├── WebConfigProperties.adoc ├── WebConfigPropertyCollections.adoc ├── WebSites.adoc ├── WebVirtualDirectories.adoc ├── WindowsEventForwarding.adoc ├── WindowsEventLogs.adoc ├── WindowsFeatures.adoc ├── WindowsOptionalFeatures.adoc ├── WindowsServices.adoc └── XmlContent.adoc ├── source ├── CommonTasks.psd1 ├── CommonTasks.psm1 ├── DSCResources │ ├── AddsDomain │ │ ├── AddsDomain.psd1 │ │ └── AddsDomain.schema.psm1 │ ├── AddsDomainController │ │ ├── AddsDomainController.psd1 │ │ └── AddsDomainController.schema.psm1 │ ├── AddsDomainPrincipals │ │ ├── AddsDomainPrincipals.psd1 │ │ └── AddsDomainPrincipals.schema.psm1 │ ├── AddsOrgUnitsAndGroups │ │ ├── AddsOrgUnitsAndGroups.psd1 │ │ └── AddsOrgUnitsAndGroups.schema.psm1 │ ├── AddsProtectFromAccidentalDeletion │ │ ├── AddsProtectFromAccidentalDeletion.psd1 │ │ └── AddsProtectFromAccidentalDeletion.schema.psm1 │ ├── AddsServicePrincipalNames │ │ ├── AddsServicePrincipalNames.psd1 │ │ └── AddsServicePrincipalNames.schema.psm1 │ ├── AddsSiteLinks │ │ ├── AddsSiteLinks.psd1 │ │ └── AddsSiteLinks.schema.psm1 │ ├── AddsSitesSubnets │ │ ├── AddsSitesSubnets.psd1 │ │ └── AddsSitesSubnets.schema.psm1 │ ├── AddsTrusts │ │ ├── AddsTrusts.psd1 │ │ └── AddsTrusts.schema.psm1 │ ├── AddsWaitForDomains │ │ ├── AddsWaitForDomains.psd1 │ │ └── AddsWaitForDomains.schema.psm1 │ ├── AuditPolicies │ │ ├── AuditPolicies.psd1 │ │ └── AuditPolicies.schema.psm1 │ ├── AzureConnectedMachine │ │ ├── AzureConnectedMachine.psd1 │ │ └── AzureConnectedMachine.schema.psm1 │ ├── Bitlocker │ │ ├── Bitlocker.psd1 │ │ └── Bitlocker.schema.psm1 │ ├── CertificateAuthorities │ │ ├── CertificateAuthorities.psd1 │ │ └── CertificateAuthorities.schema.psm1 │ ├── CertificateExports │ │ ├── CertificateExports.psd1 │ │ └── CertificateExports.schema.psm1 │ ├── CertificateImports │ │ ├── CertificateImports.psd1 │ │ └── CertificateImports.schema.psm1 │ ├── CertificateRequests │ │ ├── CertificateRequests.psd1 │ │ └── CertificateRequests.schema.psm1 │ ├── ChocolateyPackages │ │ ├── ChocolateyPackages.psd1 │ │ └── ChocolateyPackages.schema.psm1 │ ├── ChocolateyPackages2nd │ │ ├── ChocolateyPackages2nd.psd1 │ │ └── ChocolateyPackages2nd.schema.psm1 │ ├── ChocolateyPackages3rd │ │ ├── ChocolateyPackages3rd.psd1 │ │ └── ChocolateyPackages3rd.schema.psm1 │ ├── ComputerSettings │ │ ├── ComputerSettings.psd1 │ │ └── ComputerSettings.schema.psm1 │ ├── ConfigurationBase │ │ ├── ConfigurationBase.psd1 │ │ └── ConfigurationBase.schema.psm1 │ ├── ConfigurationManagerConfiguration │ │ ├── ConfigurationManagerConfiguration.psd1 │ │ └── ConfigurationManagerConfiguration.schema.psm1 │ ├── ConfigurationManagerDeployment │ │ ├── ConfigurationManagerDeployment.psd1 │ │ └── ConfigurationManagerDeployment.schema.psm1 │ ├── ConfigurationManagerDistributionGroups │ │ ├── ConfigurationManagerDistributionGroups.psd1 │ │ └── ConfigurationManagerDistributionGroups.schema.psm1 │ ├── DfsNamespaces │ │ ├── DfsNamespaces.psd1 │ │ └── DfsNamespaces.schema.psm1 │ ├── DfsReplicationGroupConnections │ │ ├── DfsReplicationGroupConnections.psd1 │ │ └── DfsReplicationGroupConnections.schema.psm1 │ ├── DfsReplicationGroupMembers │ │ ├── DfsReplicationGroupMembers.psd1 │ │ └── DfsReplicationGroupMembers.schema.psm1 │ ├── DfsReplicationGroupMemberships │ │ ├── DfsReplicationGroupMemberships.psd1 │ │ └── DfsReplicationGroupMemberships.schema.psm1 │ ├── DhcpScopeOptions │ │ ├── DhcpScopeOptions.psd1 │ │ └── DhcpScopeOptions.schema.psm1 │ ├── DhcpScopes │ │ ├── DhcpScopes.psd1 │ │ └── DhcpScopes.schema.psm1 │ ├── DhcpServer │ │ ├── DhcpServer.psd1 │ │ └── DhcpServer.schema.psm1 │ ├── DhcpServerAuthorization │ │ ├── DhcpServerAuthorization.psd1 │ │ └── DhcpServerAuthorization.schema.psm1 │ ├── DhcpServerOptionDefinitions │ │ ├── DhcpServerOptionDefinitions.psd1 │ │ └── DhcpServerOptionDefinitions.schema.psm1 │ ├── DhcpServerOptions │ │ ├── DhcpServerOptions.psd1 │ │ └── DhcpServerOptions.schema.psm1 │ ├── DiskAccessPaths │ │ ├── DiskAccessPaths.psd1 │ │ └── DiskAccessPaths.schema.psm1 │ ├── Disks │ │ ├── Disks.psd1 │ │ └── Disks.schema.psm1 │ ├── DnsServerARecords │ │ ├── DnsServerARecords.psd1 │ │ └── DnsServerARecords.schema.psm1 │ ├── DnsServerAdZones │ │ ├── DnsServerAdZones.psd1 │ │ └── DnsServerAdZones.schema.psm1 │ ├── DnsServerCNameRecords │ │ ├── DnsServerCNameRecords.psd1 │ │ └── DnsServerCNameRecords.schema.psm1 │ ├── DnsServerConditionalForwarders │ │ ├── DnsServerConditionalForwarders.psd1 │ │ └── DnsServerConditionalForwarders.schema.psm1 │ ├── DnsServerForwarders │ │ ├── DnsServerForwarders.psd1 │ │ └── DnsServerForwarders.schema.psm1 │ ├── DnsServerLegacySettings │ │ ├── DnsServerLegacySettings.psd1 │ │ └── DnsServerLegacySettings.schema.psm1 │ ├── DnsServerMxRecords │ │ ├── DnsServerMxRecords.psd1 │ │ └── DnsServerMxRecords.schema.psm1 │ ├── DnsServerPrimaryZones │ │ ├── DnsServerPrimaryZones.psd1 │ │ └── DnsServerPrimaryZones.schema.psm1 │ ├── DnsServerQueryResolutionPolicies │ │ ├── DnsServerQueryResolutionPolicies.psd1 │ │ └── DnsServerQueryResolutionPolicies.schema.psm1 │ ├── DnsServerResponseRateLimiting │ │ ├── DnsServerResponseRateLimiting.psd1 │ │ └── DnsServerResponseRateLimiting.schema.psm1 │ ├── DnsServerRootHints │ │ ├── DnsServerRootHints.psd1 │ │ └── DnsServerRootHints.schema.psm1 │ ├── DnsServerSettings │ │ ├── DnsServerSettings.psd1 │ │ └── DnsServerSettings.schema.psm1 │ ├── DnsServerZonesAging │ │ ├── DnsServerZonesAging.psd1 │ │ └── DnsServerZonesAging.schema.psm1 │ ├── DnsSuffixes │ │ ├── DnsSuffixes.psd1 │ │ └── DnsSuffixes.schema.psm1 │ ├── DscDiagnostic │ │ ├── DscDiagnostic.psd1 │ │ └── DscDiagnostic.schema.psm1 │ ├── DscLcmController │ │ ├── DscLcmController.psd1 │ │ └── DscLcmController.schema.psm1 │ ├── DscLcmMaintenanceWindows │ │ ├── DscLcmMaintenanceWindows.psd1 │ │ └── DscLcmMaintenanceWindows.schema.psm1 │ ├── DscPullServer │ │ ├── DscPullServer.psd1 │ │ └── DscPullServer.schema.psm1 │ ├── DscPullServerSql │ │ ├── DscPullServerSql.psd1 │ │ └── DscPullServerSql.schema.psm1 │ ├── DscTagging │ │ ├── DscTagging.psd1 │ │ └── DscTagging.schema.psm1 │ ├── EnvironmentVariables │ │ ├── EnvironmentVariables.psd1 │ │ └── EnvironmentVariables.schema.psm1 │ ├── ExchangeAutoMountPoints │ │ ├── ExchangeAutoMountPoints.psd1 │ │ └── ExchangeAutoMountPoints.schema.psm1 │ ├── ExchangeConfiguration │ │ ├── ExchangeConfiguration.psd1 │ │ └── ExchangeConfiguration.schema.psm1 │ ├── ExchangeDagProvisioning │ │ ├── ExchangeDagProvisioning.psd1 │ │ └── ExchangeDagProvisioning.schema.psm1 │ ├── ExchangeMailboxDatabaseCopies │ │ ├── ExchangeMailboxDatabaseCopies.psd1 │ │ └── ExchangeMailboxDatabaseCopies.schema.psm1 │ ├── ExchangeMailboxDatabases │ │ ├── ExchangeMailboxDatabases.psd1 │ │ └── ExchangeMailboxDatabases.schema.psm1 │ ├── ExchangeProvisioning │ │ ├── ExchangeProvisioning.psd1 │ │ └── ExchangeProvisioning.schema.psm1 │ ├── FailoverCluster │ │ ├── FailoverCluster.psd1 │ │ └── FailoverCluster.schema.psm1 │ ├── FileContents │ │ ├── FileContents.psd1 │ │ └── FileContents.schema.psm1 │ ├── FilesAndFolders │ │ ├── FilesAndFolders.psd1 │ │ └── FilesAndFolders.schema.psm1 │ ├── FirewallProfiles │ │ ├── FirewallProfiles.psd1 │ │ └── FirewallProfiles.schema.psm1 │ ├── FirewallRules │ │ ├── FirewallRules.psd1 │ │ └── FirewallRules.schema.psm1 │ ├── HostsFileEntries │ │ ├── HostsFileEntries.psd1 │ │ └── HostsFileEntries.schema.psm1 │ ├── HyperV │ │ ├── HyperV.psd1 │ │ └── HyperV.schema.psm1 │ ├── HyperVReplica │ │ ├── HyperVReplica.psd1 │ │ └── HyperVReplica.schema.psm1 │ ├── HyperVState │ │ ├── HyperVState.psd1 │ │ └── HyperVState.schema.psm1 │ ├── IpConfiguration │ │ ├── IpConfiguration.psd1 │ │ └── IpConfiguration.schema.psm1 │ ├── JeaEndpoints │ │ ├── JeaEndpoints.psd1 │ │ └── JeaEndpoints.schema.psm1 │ ├── JeaRoles │ │ ├── JeaRoles.psd1 │ │ └── JeaRoles.schema.psm1 │ ├── LocalGroups │ │ ├── LocalGroups.psd1 │ │ └── LocalGroups.schema.psm1 │ ├── LocalUsers │ │ ├── LocalUsers.psd1 │ │ └── LocalUsers.schema.psm1 │ ├── MmaAgent │ │ ├── MmaAgent.psd1 │ │ └── MmaAgent.schema.psm1 │ ├── MountImages │ │ ├── MountImages.psd1 │ │ └── MountImages.schema.psm1 │ ├── Network │ │ ├── Network.psd1 │ │ └── Network.schema.psm1 │ ├── NetworkIpConfiguration │ │ ├── NetworkIpConfiguration.psd1 │ │ └── NetworkIpConfiguration.schema.psm1 │ ├── OfficeOnlineServerFarmConfig │ │ ├── OfficeOnlineServerFarmConfig.psd1 │ │ └── OfficeOnlineServerFarmConfig.schema.psm1 │ ├── OfficeOnlineServerMachineConfig │ │ ├── OfficeOnlineServerMachineConfig.psd1 │ │ └── OfficeOnlineServerMachineConfig.schema.psm1 │ ├── OfficeOnlineServerSetup │ │ ├── OfficeOnlineServerSetup.psd1 │ │ └── OfficeOnlineServerSetup.schema.psm1 │ ├── OpticalDiskDrives │ │ ├── OpticalDiskDrives.psd1 │ │ └── OpticalDiskDrives.schema.psm1 │ ├── PowerPlans │ │ ├── PowerPlans.psd1 │ │ └── PowerPlans.schema.psm1 │ ├── PowerShellRepositories │ │ ├── PowerShellRepositories.psd1 │ │ └── PowerShellRepositories.schema.psm1 │ ├── PowershellExecutionPolicies │ │ ├── PowershellExecutionPolicies.psd1 │ │ └── PowershellExecutionPolicies.schema.psm1 │ ├── RegistryPolicies │ │ ├── RegistryPolicies.psd1 │ │ └── RegistryPolicies.schema.psm1 │ ├── RegistryValues │ │ ├── RegistryValues.psd1 │ │ └── RegistryValues.schema.psm1 │ ├── RemoteDesktopCertificates │ │ ├── RemoteDesktopCertificates.psd1 │ │ └── RemoteDesktopCertificates.schema.psm1 │ ├── RemoteDesktopCollections │ │ ├── RemoteDesktopCollections.psd1 │ │ └── RemoteDesktopCollections.schema.psm1 │ ├── RemoteDesktopDeployment │ │ ├── RemoteDesktopDeployment.psd1 │ │ └── RemoteDesktopDeployment.schema.psm1 │ ├── RemoteDesktopHAMode │ │ ├── RemoteDesktopHAMode.psd1 │ │ └── RemoteDesktopHAMode.schema.psm1 │ ├── RemoteDesktopLicensing │ │ ├── RemoteDesktopLicensing.psd1 │ │ └── RemoteDesktopLicensing.schema.psm1 │ ├── RemoteDesktopServers │ │ ├── RemoteDesktopServers.psd1 │ │ └── RemoteDesktopServers.schema.psm1 │ ├── RenameNetworkAdapters │ │ ├── RenameNetworkAdapters.psd1 │ │ └── RenameNetworkAdapters.schema.psm1 │ ├── RestartSystem │ │ ├── RestartSystem.psd1 │ │ └── RestartSystem.schema.psm1 │ ├── Robocopies │ │ ├── Robocopies.psd1 │ │ └── Robocopies.schema.psm1 │ ├── ScheduledTasks │ │ ├── ScheduledTasks.psd1 │ │ └── ScheduledTasks.schema.psm1 │ ├── ScomComponents │ │ ├── ScomComponents.psd1 │ │ └── ScomComponents.schema.psm1 │ ├── ScomManagementPacks │ │ ├── ScomManagementPacks.psd1 │ │ └── ScomManagementPacks.schema.psm1 │ ├── ScomSettings │ │ ├── ScomSettings.psd1 │ │ └── ScomSettings.schema.psm1 │ ├── Scripts │ │ ├── Scripts.psd1 │ │ └── Scripts.schema.psm1 │ ├── SecurityBase │ │ ├── SecurityBase.psd1 │ │ └── SecurityBase.schema.psm1 │ ├── SecurityPolicies │ │ ├── SecurityPolicies.psd1 │ │ └── SecurityPolicies.schema.psm1 │ ├── SharePointCacheAccounts │ │ ├── SharePointCacheAccounts.psd1 │ │ └── SharePointCacheAccounts.schema.psm1 │ ├── SharePointContentDatabases │ │ ├── SharePointContentDatabases.psd1 │ │ └── SharePointContentDatabases.schema.psm1 │ ├── SharePointManagedAccounts │ │ ├── SharePointManagedAccounts.psd1 │ │ └── SharePointManagedAccounts.schema.psm1 │ ├── SharePointManagedPaths │ │ ├── SharePointManagedPaths.psd1 │ │ └── SharePointManagedPaths.schema.psm1 │ ├── SharePointPrereq │ │ ├── SharePointPrereq.psd1 │ │ └── SharePointPrereq.schema.psm1 │ ├── SharePointProvisioning │ │ ├── SharePointProvisioning.psd1 │ │ └── SharePointProvisioning.schema.psm1 │ ├── SharePointServiceAppPools │ │ ├── SharePointServiceAppPools.psd1 │ │ └── SharePointServiceAppPools.schema.psm1 │ ├── SharePointServiceInstances │ │ ├── SharePointServiceInstances.psd1 │ │ └── SharePointServiceInstances.schema.psm1 │ ├── SharePointSetup │ │ ├── SharePointSetup.psd1 │ │ └── SharePointSetup.schema.psm1 │ ├── SharePointSites │ │ ├── SharePointSites.psd1 │ │ └── SharePointSites.schema.psm1 │ ├── SharePointWebApplications │ │ ├── SharePointWebApplications.psd1 │ │ └── SharePointWebApplications.schema.psm1 │ ├── SmbShares │ │ ├── SmbShares.psd1 │ │ └── SmbShares.schema.psm1 │ ├── SoftwarePackages │ │ ├── SoftwarePackages.psd1 │ │ └── SoftwarePackages.schema.psm1 │ ├── SqlAGDatabases │ │ ├── SqlAGDatabases.psd1 │ │ └── SqlAGDatabases.schema.psm1 │ ├── SqlAGListeners │ │ ├── SqlAGListeners.psd1 │ │ └── SqlAGListeners.schema.psm1 │ ├── SqlAGReplicas │ │ ├── SqlAGReplicas.psd1 │ │ └── SqlAGReplicas.schema.psm1 │ ├── SqlAGs │ │ ├── SqlAGs.psd1 │ │ └── SqlAGs.schema.psm1 │ ├── SqlAgentAlerts │ │ ├── SqlAgentAlerts.psd1 │ │ └── SqlAgentAlerts.schema.psm1 │ ├── SqlAgentOperators │ │ ├── SqlAgentOperators.psd1 │ │ └── SqlAgentOperators.schema.psm1 │ ├── SqlAliases │ │ ├── SqlAliases.psd1 │ │ └── SqlAliases.schema.psm1 │ ├── SqlAlwaysOnServices │ │ ├── SqlAlwaysOnServices.psd1 │ │ └── SqlAlwaysOnServices.schema.psm1 │ ├── SqlConfigurations │ │ ├── SqlConfigurations.psd1 │ │ └── SqlConfigurations.schema.psm1 │ ├── SqlDatabaseMailSetups │ │ ├── SqlDatabaseMailSetups.psd1 │ │ └── SqlDatabaseMailSetups.schema.psm1 │ ├── SqlDatabases │ │ ├── SqlDatabases.psd1 │ │ └── SqlDatabases.schema.psm1 │ ├── SqlEndpoints │ │ ├── SqlEndpoints.psd1 │ │ └── SqlEndpoints.schema.psm1 │ ├── SqlLogins │ │ ├── SqlLogins.psd1 │ │ └── SqlLogins.schema.psm1 │ ├── SqlPermissions │ │ ├── SqlPermissions.psd1 │ │ └── SqlPermissions.schema.psm1 │ ├── SqlRoles │ │ ├── SqlRoles.psd1 │ │ └── SqlRoles.schema.psm1 │ ├── SqlScriptQueries │ │ ├── SqlScriptQueries.psd1 │ │ └── SqlScriptQueries.schema.psm1 │ ├── SqlServer │ │ ├── SqlServer.psd1 │ │ └── SqlServer.schema.psm1 │ ├── SwitchLcmMode │ │ ├── SwitchLcmMode.psd1 │ │ └── SwitchLcmMode.schema.psm1 │ ├── UpdateServices │ │ ├── UpdateServices.psd1 │ │ └── UpdateServices.schema.psm1 │ ├── VSTSAgents │ │ ├── VSTSAgents.psd1 │ │ └── VSTSAgents.schema.psm1 │ ├── VirtualMemoryFiles │ │ ├── VirtualMemoryFiles.psd1 │ │ └── VirtualMemoryFiles.schema.psm1 │ ├── WaitForAllNodes │ │ ├── WaitForAllNodes.psd1 │ │ └── WaitForAllNodes.schema.psm1 │ ├── WaitForAnyNode │ │ ├── WaitForAnyNode.psd1 │ │ └── WaitForAnyNode.schema.psm1 │ ├── WaitForSomeNodes │ │ ├── WaitForSomeNodes.psd1 │ │ └── WaitForSomeNodes.schema.psm1 │ ├── Wds │ │ ├── Wds.psd1 │ │ └── Wds.schema.psm1 │ ├── WebApplicationPools │ │ ├── WebApplicationPools.psd1 │ │ └── WebApplicationPools.schema.psm1 │ ├── WebApplications │ │ ├── WebApplications.psd1 │ │ └── WebApplications.schema.psm1 │ ├── WebBrowser │ │ ├── WebBrowser.psd1 │ │ └── WebBrowser.schema.psm1 │ ├── WebConfigProperties │ │ ├── WebConfigProperties.psd1 │ │ └── WebConfigProperties.schema.psm1 │ ├── WebConfigPropertyCollections │ │ ├── WebConfigPropertyCollections.psd1 │ │ └── WebConfigPropertyCollections.schema.psm1 │ ├── WebSites │ │ ├── Websites.psd1 │ │ └── Websites.schema.psm1 │ ├── WebVirtualDirectories │ │ ├── WebVirtualDirectories.psd1 │ │ └── WebVirtualDirectories.schema.psm1 │ ├── WindowsEventForwarding │ │ ├── WindowsEventForwarding.psd1 │ │ └── WindowsEventForwarding.schema.psm1 │ ├── WindowsEventLogs │ │ ├── WindowsEventLogs.psd1 │ │ └── WindowsEventLogs.schema.psm1 │ ├── WindowsFeatures │ │ ├── WindowsFeatures.psd1 │ │ └── WindowsFeatures.schema.psm1 │ ├── WindowsOptionalFeatures │ │ ├── WindowsOptionalFeatures.psd1 │ │ └── WindowsOptionalFeatures.schema.psm1 │ ├── WindowsServices │ │ ├── WindowsServices.psd1 │ │ └── WindowsServices.schema.psm1 │ └── XmlContent │ │ ├── XmlContent.psd1 │ │ └── XmlContent.schema.psm1 └── en-US │ └── about_CommonTasks2.help.txt └── tests └── Unit └── DSCResources ├── Assets ├── AllNodes.yml ├── Config │ ├── AddsDomain.yml │ ├── AddsDomainController.yml │ ├── AddsDomainPrincipals.yml │ ├── AddsOrgUnitsAndGroups.yml │ ├── AddsProtectFromAccidentalDeletion.yml │ ├── AddsServicePrincipalNames.yml │ ├── AddsSiteLinks.yml │ ├── AddsSitesSubnets.yml │ ├── AddsTrusts.yml │ ├── AddsWaitForDomains.yml │ ├── AuditPolicies.yml │ ├── AzureConnectedMachine.yml │ ├── Bitlocker.yml │ ├── CertificateAuthorities.yml │ ├── CertificateExports.yml │ ├── CertificateImports.yml │ ├── CertificateRequests.yml │ ├── ChocolateyPackages.yml │ ├── ChocolateyPackages2nd.yml │ ├── ChocolateyPackages3rd.yml │ ├── ComputerSettings.yml │ ├── ConfigurationBase.yml │ ├── ConfigurationManagerConfiguration.yml │ ├── ConfigurationManagerDeployment.yml │ ├── ConfigurationManagerDistributionGroups.yml │ ├── DfsNamespaces.yml │ ├── DfsReplicationGroupConnections.yml │ ├── DfsReplicationGroupMembers.yml │ ├── DfsReplicationGroupMemberships.yml │ ├── DhcpScopeOptions.yml │ ├── DhcpScopes.yml │ ├── DhcpServer.yml │ ├── DhcpServerAuthorization.yml │ ├── DhcpServerOptionDefinitions.yml │ ├── DhcpServerOptions.yml │ ├── DiskAccessPaths.yml │ ├── Disks.yml │ ├── DnsServerARecords.yml │ ├── DnsServerAdZones.yml │ ├── DnsServerCNameRecords.yml │ ├── DnsServerConditionalForwarders.yml │ ├── DnsServerForwarders.yml │ ├── DnsServerLegacySettings.yml │ ├── DnsServerMxRecords.yml │ ├── DnsServerPrimaryZones.yml │ ├── DnsServerQueryResolutionPolicies.yml │ ├── DnsServerResponseRateLimiting.yml │ ├── DnsServerRootHints.yml │ ├── DnsServerSettings.yml │ ├── DnsServerZonesAging.yml │ ├── DnsSuffixes.yml │ ├── DscLcmController.yml │ ├── DscLcmMaintenanceWindows.yml │ ├── DscPullServerSql.yml │ ├── DscTagging.yml │ ├── EnvironmentVariables.yml │ ├── ExchangeAutoMountPoints.yml │ ├── ExchangeConfiguration.yml │ ├── ExchangeDagProvisioning.yml │ ├── ExchangeMailboxDatabaseCopies.yml │ ├── ExchangeMailboxDatabases.yml │ ├── ExchangeProvisioning.yml │ ├── FailoverCluster.yml │ ├── FileContents.yml │ ├── FilesAndFolders.yml │ ├── FirewallProfiles.yml │ ├── FirewallRules.yml │ ├── HostsFileEntries.yml │ ├── HyperV.yml │ ├── HyperVReplica.yml │ ├── HyperVState.yml │ ├── IpConfiguration.yml │ ├── JeaEndpoints.yml │ ├── JeaRoles.yml │ ├── LocalGroups.yml │ ├── LocalUsers.yml │ ├── MmaAgent.yml │ ├── MountImages.yml │ ├── Network.yml │ ├── NetworkIpConfiguration.yml │ ├── OfficeOnlineServerFarmConfig.yml │ ├── OfficeOnlineServerMachineConfig.yml │ ├── OfficeOnlineServerSetup.yml │ ├── OpticalDiskDrives.yml │ ├── PowerPlans.yml │ ├── PowerShellRepositories.yml │ ├── PowershellExecutionPolicies.yml │ ├── RegistryPolicies.yml │ ├── RegistryValues.yml │ ├── RemoteDesktopCertificates.yml │ ├── RemoteDesktopCollections.yml │ ├── RemoteDesktopDeployment.yml │ ├── RemoteDesktopHAMode.yml │ ├── RemoteDesktopLicensing.yml │ ├── RemoteDesktopServers.yml │ ├── RenameNetworkAdapters.yml │ ├── RestartSystem.yml │ ├── Robocopies.yml │ ├── ScheduledTasks.yml │ ├── ScomComponents.yml │ ├── ScomManagementPacks.yml │ ├── ScomSettings.yml │ ├── Scripts.yml │ ├── SecurityBase.yml │ ├── SecurityPolicies.yml │ ├── SharePointCacheAccounts.yml │ ├── SharePointContentDatabases.yml │ ├── SharePointManagedAccounts.yml │ ├── SharePointManagedPaths.yml │ ├── SharePointPrereq.yml │ ├── SharePointProvisioning.yml │ ├── SharePointServiceAppPools.yml │ ├── SharePointServiceInstances.yml │ ├── SharePointSetup.yml │ ├── SharePointSites.yml │ ├── SharePointWebApplications.yml │ ├── SmbShares.yml │ ├── SoftwarePackages.yml │ ├── SqlAGDatabases.yml │ ├── SqlAGListeners.yml │ ├── SqlAGReplicas.yml │ ├── SqlAGs.yml │ ├── SqlAgentAlerts.yml │ ├── SqlAgentOperators.yml │ ├── SqlAliases.yml │ ├── SqlAlwaysOnServices.yml │ ├── SqlConfigurations.yml │ ├── SqlDatabaseMailSetups.yml │ ├── SqlDatabases.yml │ ├── SqlEndpoints.yml │ ├── SqlLogins.yml │ ├── SqlPermissions.yml │ ├── SqlRoles.yml │ ├── SqlScriptQueries.yml │ ├── SqlServer.yml │ ├── SwitchLcmMode.yml │ ├── UpdateServices.yml │ ├── VSTSAgents.yml │ ├── VirtualMemoryFiles.yml │ ├── WaitForAllNodes.yml │ ├── WaitForAnyNode.yml │ ├── WaitForSomeNodes.yml │ ├── Wds.yml │ ├── WebApplicationPools.yml │ ├── WebApplications.yml │ ├── WebBrowser.yml │ ├── WebConfigProperties.yml │ ├── WebConfigPropertyCollections.yml │ ├── WebSites.yml │ ├── WebVirtualDirectories.yml │ ├── WindowsEventForwarding.yml │ ├── WindowsEventLogs.yml │ ├── WindowsFeatures.yml │ ├── WindowsOptionalFeatures.yml │ ├── WindowsServices.yml │ └── XmlContent.yml └── Datum.yml └── DscResources.Tests.ps1 /.build/FixEncoding.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Sets the encoding of all *.psd1 files to UTF8. 4 | 5 | .DESCRIPTION 6 | Sets the encoding of all *.psd1 files to UTF8. This is a build task that is 7 | 8 | This task is only needed when the build runs on Windows PowerShell 5.1. 9 | 10 | .NOTES 11 | This is a build task that is primarily meant to be run by Invoke-Build but 12 | wrapped by the Sampler project's build.ps1 (https://github.com/gaelcolas/Sampler). 13 | #> 14 | 15 | param () 16 | 17 | task FixEncoding { 18 | 19 | Write-Build Yellow "Setting encoding to UTF8 for *.PSD1 files in path '$BuildModuleOutput'." 20 | $utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($false) 21 | 22 | Get-ChildItem -Path $BuildModuleOutput -Filter *.psd1 -Recurse -File | ForEach-Object { 23 | 24 | Write-Build DarkGray "`t'$($_.FullName)'." 25 | Set-ItemProperty -Path $_.FullName -Name IsReadOnly -Value $false 26 | $c = [System.IO.File]::ReadAllLines($_.FullName) 27 | [System.IO.File]::WriteAllLines($_.FullName, $c, $utf8NoBomEncoding) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Needed for publishing of examples, build worker defaults to core.autocrlf=input. 2 | * text eol=autocrlf 3 | 4 | *.mof text eol=crlf 5 | *.sh text eol=lf 6 | *.svg eol=lf 7 | 8 | # Ensure any exe files are treated as binary 9 | *.exe binary 10 | *.jpg binary 11 | *.xl* binary 12 | *.pfx binary 13 | *.png binary 14 | *.dll binary 15 | *.so binary 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/General.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: General question or documentation update 3 | about: If you have a general question or documentation update suggestion around the resource module. 4 | --- 5 | 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: "Virtual PowerShell User Group #DSC channel" 4 | url: https://dsccommunity.org/community/contact/ 5 | about: "To talk to the community and maintainers of DSC Community, please visit the #DSC channel." 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | output/ 2 | 3 | **.bak 4 | *.local.* 5 | !**/README.md 6 | .kitchen/ 7 | 8 | *.suo 9 | *.user 10 | *.coverage 11 | .vs 12 | .psproj 13 | .sln 14 | markdownissues.txt 15 | node_modules 16 | package-lock.json 17 | -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": true, 3 | "MD029": { 4 | "style": "one" 5 | }, 6 | "MD013": true, 7 | "MD024": false, 8 | "MD034": false, 9 | "no-hard-tabs": true 10 | } 11 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | This project has adopted the [DSC Community Code of Conduct](https://dsccommunity.org/code_of_conduct). 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Please check out common DSC Community [contributing guidelines](https://dsccommunity.org/guidelines/contributing). 4 | 5 | ## Running the Tests 6 | 7 | If want to know how to run this module's tests you can look at the [Testing Guidelines](https://dsccommunity.org/guidelines/testing-guidelines/#running-tests) 8 | -------------------------------------------------------------------------------- /GitVersion.yml: -------------------------------------------------------------------------------- 1 | mode: ContinuousDelivery 2 | next-version: 0.4.0 3 | major-version-bump-message: '(breaking\schange|breaking|major)\b' 4 | minor-version-bump-message: '(adds?|features?|minor)\b' 5 | patch-version-bump-message: '\s?(fix|patch)' 6 | no-bump-message: '\+semver:\s?(none|skip)' 7 | assembly-informational-format: '{NuGetVersionV2}+Sha.{Sha}.Date.{CommitDate}' 8 | branches: 9 | master: 10 | tag: preview 11 | regex: ^main$ 12 | pull-request: 13 | tag: PR 14 | feature: 15 | tag: useBranchName 16 | increment: Minor 17 | regex: f(eature(s)?)?[\/-] 18 | source-branches: ['master'] 19 | hotfix: 20 | tag: fix 21 | increment: Patch 22 | regex: (hot)?fix(es)?[\/-] 23 | source-branches: ['master'] 24 | 25 | ignore: 26 | sha: [] 27 | merge-message-formats: {} 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Raimund Andrée, Jan-Hendrik Peters 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Resolve-Dependency.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | Gallery = 'PSGallery' 3 | AllowPrerelease = $true 4 | WithYAML = $true 5 | } 6 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | require_ci_to_pass: no 3 | # master should be the baseline for reporting 4 | branch: main 5 | 6 | comment: 7 | layout: "reach, diff, flags, files" 8 | behavior: default 9 | 10 | coverage: 11 | range: 50..80 12 | round: down 13 | precision: 0 14 | 15 | status: 16 | project: 17 | default: 18 | # Set the overall project code coverage requirement to 70% 19 | target: 70 20 | patch: 21 | default: 22 | # Set the pull request requirement to not regress overall coverage by more than 5% 23 | # and let codecov.io set the goal for the code changed in the patch. 24 | target: auto 25 | threshold: 5 26 | 27 | # Use this if there are paths that should not be part of the code coverage, for 28 | # example a deprecated function where tests has been removed. 29 | #ignore: 30 | # - 'source/Public/Get-Deprecated.ps1' 31 | 32 | -------------------------------------------------------------------------------- /doc/ConfigurationBase.adoc: -------------------------------------------------------------------------------- 1 | // CommonTasks YAML Reference: ConfigurationBase 2 | // ============================================= 3 | 4 | :YmlCategory: ConfigurationBase 5 | 6 | :abstract: {YmlCategory} enables RDP. 7 | 8 | [#dscyml_configurationbase, {YmlCategory}] 9 | = DSC Resource '{YmlCategory}' 10 | 11 | 12 | [[dscyml_configurationbase_abstract, {abstract}]] 13 | {abstract} 14 | 15 | 16 | [cols="1,3a" options="autowidth" caption=] 17 | |=== 18 | | Source | https://github.com/dsccommunity/CommonTasks/tree/main/source/DSCResources/ConfigurationBase 19 | | DSC Resource | https://github.com/dsccommunity/xPSDesiredStateConfiguration[xPSDesiredStateConfiguration] 20 | | Documentation | https://github.com/dsccommunity/xPSDesiredStateConfiguration#resources[xPSDesiredStateConfiguration] 21 | |=== 22 | 23 | 24 | .Attributes of category '{YmlCategory}' 25 | [cols="1,1,1,2a,1a" options="header"] 26 | |=== 27 | | Parameter 28 | | Attribute 29 | | DataType 30 | | Description 31 | | Allowed Values 32 | 33 | | SystemType 34 | | 35 | | string 36 | | Reserved 37 | | - `Baseline` 38 | - `WebServer` 39 | - `FileServer` 40 | |=== 41 | 42 | 43 | .Example 44 | [source, yaml] 45 | ---- 46 | ConfigurationBase: 47 | SystemType: Baseline 48 | ---- 49 | -------------------------------------------------------------------------------- /doc/MmaAgent.adoc: -------------------------------------------------------------------------------- 1 | // CommonTasks YAML Reference: MmaAgent 2 | // ==================================== 3 | 4 | :YmlCategory: MmaAgent 5 | 6 | :abstract: {YmlCategory} is used to manage settings of the Microsoft Monitoring Agent. 7 | 8 | [#dscyml_mmaagent] 9 | = DSC Resource '{YmlCategory}' 10 | 11 | [[dscyml_mmaagent_abstract, {abstract}]] 12 | {abstract} 13 | 14 | 15 | [cols="1,3a" options="autowidth" caption=] 16 | |=== 17 | | Source | https://github.com/dsccommunity/CommonTasks/tree/main/source/DSCResources/MmaAgent 18 | | DSC Resource | https://www.powershellgallery.com/packages/MMADsc[MmaDsc] 19 | | Documentation | https://www.powershellgallery.com/packages/MMADsc/1.3.0/Content/DSCResources%5CWorkspaceConfiguration.psm1[WorkspaceConfiguration] 20 | |=== 21 | 22 | 23 | .Attributes of category '{YmlCategory}' 24 | [cols="1,1,1,2a,1a" options="header"] 25 | |=== 26 | | Parameter 27 | | Attribute 28 | | DataType 29 | | Description 30 | | Allowed Values 31 | 32 | | 33 | | 34 | | 35 | | 36 | | 37 | 38 | |=== 39 | 40 | 41 | .Example 42 | [source, yaml] 43 | ---- 44 | MmaAgent: 45 | WorkspaceId: ABC 46 | WorkspaceKey: '[ENC=PE9ianMgVmVy...=]' 47 | ---- 48 | -------------------------------------------------------------------------------- /source/CommonTasks.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'CommonTasks.psm1' 3 | ModuleVersion = '0.4' 4 | GUID = '63e8bf79-62d3-4249-8fe6-9a766fbe8481' 5 | Author = 'DSC Community' 6 | CompanyName = 'DSC Community' 7 | Copyright = 'Copyright the DSC Community contributors. All rights reserved.' 8 | Description = 'DSC composite resource for https://github.com/dsccommunity/DscWorkshop' 9 | PowerShellVersion = '5.1' 10 | FunctionsToExport = '*' 11 | CmdletsToExport = '*' 12 | VariablesToExport = '*' 13 | AliasesToExport = '*' 14 | 15 | PrivateData = @{ 16 | 17 | PSData = @{ 18 | Prerelease = '' 19 | Tags = @('DesiredStateConfiguration', 'DSC', 'DSCResource') 20 | LicenseUri = 'https://github.com/dsccommunity/CommonTasks/blob/main/LICENSE' 21 | ProjectUri = 'https://github.com/dsccommunity/CommonTasks' 22 | IconUri = 'https://dsccommunity.org/images/DSC_Logo_300p.png' 23 | ReleaseNotes = '' 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DSCResources/AddsDomain/AddsDomain.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsDomain.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '64048b6d-5001-4913-9c29-7bdceca7a519' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsDomain') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsDomainController/AddsDomainController.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsDomainController.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1d56a67c-da6a-4a33-b011-ae5a82b00123' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsDomainController') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsDomainPrincipals/AddsDomainPrincipals.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsDomainPrincipals.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'bbe38eae-7ab3-42fa-b4f9-fc6bc058423a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsDomainPrincipals') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsOrgUnitsAndGroups/AddsOrgUnitsAndGroups.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsOrgUnitsAndGroups.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c0b4bbd5-013e-440a-a472-7c0183b48400' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsOrgUnitsAndGroups') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsProtectFromAccidentalDeletion/AddsProtectFromAccidentalDeletion.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsProtectFromAccidentalDeletion.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = 'e08df447-4c0f-4154-aeca-9111cc5105a6' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('AddsProtectFromAccidentalDeletion') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/AddsServicePrincipalNames/AddsServicePrincipalNames.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsServicePrincipalNames.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'fbf73e07-4958-4574-a658-42f7f40fc199' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsServicePrincipalNames') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsServicePrincipalNames/AddsServicePrincipalNames.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration AddsServicePrincipalNames 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $ServicePrincipalNames 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName ActiveDirectoryDsc 12 | 13 | 14 | foreach ($spn in $ServicePrincipalNames) 15 | { 16 | (Get-DscSplattedResource -ResourceName ADServicePrincipalName -ExecutionName "spn-$((New-Guid).Guid)" -Properties $spn -NoInvoke).Invoke($spn) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/DSCResources/AddsSiteLinks/AddsSiteLinks.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsSiteLinks.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c45155e4-f563-4758-a150-83b33a943c5e' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsSiteLinks') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsSiteLinks/AddsSiteLinks.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration AddsSiteLinks 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $SiteLinks 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName ActiveDirectoryDsc 12 | 13 | foreach ($siteLink in $SiteLinks) 14 | { 15 | if (-not $siteLink.ContainsKey('Ensure')) 16 | { 17 | $siteLink.Ensure = 'Present' 18 | } 19 | 20 | $executionName = $siteLink.Name 21 | (Get-DscSplattedResource -ResourceName ADReplicationSiteLink -ExecutionName $executionName -Properties $siteLink -NoInvoke).Invoke($siteLink) 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /source/DSCResources/AddsSitesSubnets/AddsSitesSubnets.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsSitesSubnets.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'fbf73e77-4958-4574-a658-42a7f40fc199' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsSitesSubnets') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsSitesSubnets/AddsSitesSubnets.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration AddsSitesSubnets 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $Sites, 8 | 9 | [Parameter()] 10 | [hashtable[]] 11 | $Subnets 12 | ) 13 | 14 | Import-DscResource -ModuleName PSDesiredStateConfiguration 15 | Import-DscResource -ModuleName ActiveDirectoryDsc 16 | 17 | $siteDependencies = @() 18 | foreach ($site in $Sites) 19 | { 20 | $siteDependencies += "[ADReplicationSite]$($site.Name)" 21 | (Get-DscSplattedResource -ResourceName ADReplicationSite -ExecutionName $site.Name -Properties $site -NoInvoke).Invoke($site) 22 | } 23 | 24 | foreach ($subnet in $Subnets) 25 | { 26 | if ($siteDependencies.Count -gt 0) 27 | { 28 | $subnet.DependsOn = $siteDependencies 29 | } 30 | 31 | (Get-DscSplattedResource -ResourceName ADReplicationSubnet -ExecutionName $subnet.Name -Properties $subnet -NoInvoke).Invoke($subnet) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/DSCResources/AddsTrusts/AddsTrusts.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsTrusts.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '25ed0ca0-c0b1-4293-bc6d-704edba408a6' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsTrusts') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsTrusts/AddsTrusts.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration AddsTrusts 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Trusts 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName ActiveDirectoryDsc 12 | 13 | $PSBoundParameters.Remove('InstanceName') 14 | $PSBoundParameters.Remove('DependsOn') 15 | 16 | foreach ($trust in $Trusts) 17 | { 18 | $waitFor = @{ 19 | DomainName = $trust.TargetDomainName 20 | } 21 | if ($trust.TargetCredential) 22 | { 23 | $waitFor.Credential = $trust.TargetCredential 24 | } 25 | 26 | (Get-DscSplattedResource -ResourceName WaitForADDomain -ExecutionName $trust.TargetDomainName -Properties $waitFor -NoInvoke).Invoke($waitFor) 27 | 28 | $trust['DependsOn'] = "[WaitForADDomain]$($trust.TargetDomainName)" 29 | $executionName = "$($trust.SourceDomainName)-to-$($trust.TargetDomainName)".Replace('.','-') 30 | (Get-DscSplattedResource -ResourceName ADDomainTrust -ExecutionName $executionName -Properties $trust -NoInvoke).Invoke($trust) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/DSCResources/AddsWaitForDomains/AddsWaitForDomains.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AddsWaitForDomains.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '02138065-d3df-4a94-9088-81359a329b35' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AddsWaitForDomains') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AddsWaitForDomains/AddsWaitForDomains.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration AddsWaitForDomains 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $Domains 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName ActiveDirectoryDsc 12 | 13 | foreach ($domain in $Domains) 14 | { 15 | $executionName = $domain.DomainName 16 | (Get-DscSplattedResource -ResourceName WaitForADDomain -ExecutionName $executionName -Properties $domain -NoInvoke).Invoke($domain) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/DSCResources/AuditPolicies/AuditPolicies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AuditPolicies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '9bccb2fe-7c75-40da-8184-d94af940859d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AuditPolicies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/AzureConnectedMachine/AzureConnectedMachine.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'AzureConnectedMachine.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'ff993131-b1d1-42f3-84df-393843106cb9' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('AzureConnectedMachine') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Bitlocker/Bitlocker.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Bitlocker.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '85db062e-8bd4-4621-aac5-5de6cb9383f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('Bitlocker') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/CertificateAuthorities/CertificateAuthorities.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'CertificateAuthorities.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'd02d6e42-de92-4a58-b6f6-0d39705317b2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('CertificateAuthorities') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/CertificateExports/CertificateExports.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'CertificateExports.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '94473241-adb0-4aeb-8312-487722151aaa' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('CertificateExports') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/CertificateExports/CertificateExports.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration CertificateExports { 2 | param 3 | ( 4 | [Parameter()] 5 | [Hashtable[]] 6 | $Certificates 7 | ) 8 | 9 | Import-DscResource -Module PSDesiredStateConfiguration 10 | Import-DscResource -Module CertificateDsc 11 | 12 | foreach ($cert in $Certificates) 13 | { 14 | $executionName = "certexport_$($cert.Path)" -replace '[\s(){}/\\:-]', '_' 15 | (Get-DscSplattedResource -ResourceName CertificateExport -ExecutionName $executionName -Properties $cert -NoInvoke).Invoke($cert) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/DSCResources/CertificateImports/CertificateImports.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'CertificateImports.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '94473241-adb0-4aeb-8312-487722151fe2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('CertificateImports') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/CertificateRequests/CertificateRequests.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'CertificateRequests.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'd02d6e42-ab92-4a58-b6f6-0d39705317b2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('CertificateRequests') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ChocolateyPackages/ChocolateyPackages.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ChocolateyPackages.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c2e40a6d-e9af-4a8c-a7c2-abcd78b41bde' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ChocolateyPackages') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ChocolateyPackages2nd/ChocolateyPackages2nd.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ChocolateyPackages2nd.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '6be25542-1b16-4da6-8d1e-484697e5460c' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ChocolateyPackages2nd') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ChocolateyPackages3rd/ChocolateyPackages3rd.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ChocolateyPackages3rd.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5267f1c4-0c78-4a54-87c1-1d105860dc1c' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ChocolateyPackages3rd') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ComputerSettings/ComputerSettings.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ComputerSettings.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '78f1dfd9-9108-4ccb-85d7-41ae370a6e68' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ComputerSettings') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ConfigurationBase/ConfigurationBase.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ConfigurationBase.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'e0d32fb8-6305-4fa3-835e-e89cca22aeba' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ConfigurationBase') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ConfigurationBase/ConfigurationBase.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration ConfigurationBase { 2 | param ( 3 | [Parameter()] 4 | [ValidateSet('Baseline', 'WebServer', 'FileServer')] 5 | [string]$SystemType 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 10 | 11 | xRegistry EnableRdp 12 | { 13 | Key = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server' 14 | ValueName = 'fDenyTSConnection' 15 | ValueData = 0 16 | ValueType = 'Dword' 17 | Ensure = 'Present' 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/DSCResources/ConfigurationManagerConfiguration/ConfigurationManagerConfiguration.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ConfigurationManagerConfiguration.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '78e1dfd9-9108-4ccb-85d7-41ae370a6e68' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ConfigurationManagerConfiguration') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ConfigurationManagerDeployment/ConfigurationManagerDeployment.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ConfigurationManagerDeployment.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '78e1dfd9-9118-4ccb-85d7-41ae370a6e68' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ConfigurationManagerDeployment') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ConfigurationManagerDistributionGroups/ConfigurationManagerDistributionGroups.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ConfigurationManagerDistributionGroups.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '78e1dfd9-9118-4ccb-42d7-41ae370a6e68' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ConfigurationManagerDistributionGroups') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DfsNamespaces/DfsNamespaces.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DfsNamespaces.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '15a245be-c537-4c1c-a70e-ea150f704915' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DfsNamespaces') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DfsReplicationGroupConnections/DfsReplicationGroupConnections.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DfsReplicationGroupConnections.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '6b81b87e-3412-4a22-8b10-f06ef34e985f' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DfsReplicationGroupConnections') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DfsReplicationGroupMembers/DfsReplicationGroupMembers.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DfsReplicationGroupMembers.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'e37629b2-45e9-43d2-81d9-50b4bbda9f86' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DfsReplicationGroupMembers') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DfsReplicationGroupMembers/DfsReplicationGroupMembers.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DfsReplicationGroupMembers { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | <# 9 | ComputerName = [string] 10 | GroupName = [string] 11 | [DependsOn = [string[]]] 12 | [Description = [string]] 13 | [DomainName = [string]] 14 | [Ensure = [string]{ Absent | Present }] 15 | [PsDscRunAsCredential = [PSCredential]] 16 | #> 17 | 18 | Import-DscResource -ModuleName PSDesiredStateConfiguration 19 | Import-DscResource -ModuleName DFSDsc 20 | 21 | foreach ($item in $items) 22 | { 23 | if (-not $item.ContainsKey('Ensure')) 24 | { 25 | $item.Ensure = 'Present' 26 | } 27 | 28 | $executionName = "$($item.ComputerName)__$($item.GroupName)" -replace '[\s(){}/\\:-]', '_' 29 | (Get-DscSplattedResource -ResourceName DFSReplicationGroupMember -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DSCResources/DfsReplicationGroupMemberships/DfsReplicationGroupMemberships.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DfsReplicationGroupMemberships.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '8ed7a563-658b-40bc-8f90-c77ec85b49f1' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DfsReplicationGroupMemberships') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpScopeOptions/DhcpScopeOptions.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpScopeOptions.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '3aeec4d2-01b5-4f6c-9caa-57db6a55e715' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpScopeOptions') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpScopeOptions/DhcpScopeOptions.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DhcpScopeOptions 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $ScopeOptions 8 | ) 9 | 10 | <# 11 | AddressFamily = [string]{ IPv4 } 12 | OptionId = [UInt32] 13 | ScopeId = [string] 14 | UserClass = [string] 15 | VendorClass = [string] 16 | [DependsOn = [string[]]] 17 | [Ensure = [string]{ Absent | Present }] 18 | [PsDscRunAsCredential = [PSCredential]] 19 | [Value = [string[]]] 20 | #> 21 | 22 | Import-DscResource -ModuleName xDhcpServer 23 | Import-DscResource -ModuleName PsDesiredStateConfiguration 24 | 25 | foreach ($scopeOption in $ScopeOptions) 26 | { 27 | if (-not $scopeOption.ContainsKey('Ensure')) 28 | { 29 | $scopeOption.Ensure = 'Present' 30 | } 31 | 32 | $executionName = "$($node.Name)_$($scopeOption.ScopeId)_$($scopeOption.OptionId)" 33 | (Get-DscSplattedResource -ResourceName DhcpScopeOptionValue -ExecutionName $executionName -Properties $scopeOption -NoInvoke).Invoke($scopeOption) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpScopes/DhcpScopes.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpScopes.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5f11d00e-b38b-43a9-835d-4ca8c26764d4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpScopes') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpScopes/DhcpScopes.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DhcpScopes 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $Scopes, 8 | 9 | [Parameter()] 10 | [pscredential] 11 | $DomainCredential 12 | ) 13 | 14 | Import-DscResource -ModuleName xDhcpServer 15 | Import-DscResource -ModuleName PsDesiredStateConfiguration 16 | 17 | if ($DomainCredential) 18 | { 19 | xDhcpServerAuthorization "$($node.Name)_DhcpServerActivation" 20 | { 21 | Ensure = 'Present' 22 | PsDscRunAsCredential = $DomainCredential 23 | IsSingleInstance = 'Yes' 24 | } 25 | } 26 | 27 | foreach ($scope in $Scopes) 28 | { 29 | if (-not $scope.ContainsKey('Ensure')) 30 | { 31 | $scope.Ensure = 'Present' 32 | } 33 | 34 | $executionName = "$($node.Name)_$($scope.ScopeId)" 35 | (Get-DscSplattedResource -ResourceName xDhcpServerScope -ExecutionName $executionName -Properties $scope -NoInvoke).Invoke($scope) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServer/DhcpServer.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpServer.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4ae1d93f-6ad0-41b4-9ff2-d6c0dae10121' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpServer') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServerAuthorization/DhcpServerAuthorization.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpServerAuthorization.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '0eca96ba-9eeb-483e-8ddd-c1786e527615' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpServerAuthorization') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServerAuthorization/DhcpServerAuthorization.schema.psm1: -------------------------------------------------------------------------------- 1 | # see https://github.com/dsccommunity/xDhcpServer 2 | configuration DhcpServerAuthorization 3 | { 4 | param 5 | ( 6 | [Parameter()] 7 | [ValidateSet( 'Present', 'Absent' )] 8 | [string] $Ensure = 'Present', 9 | 10 | [Parameter()] 11 | [string] $DnsName, 12 | 13 | [Parameter()] 14 | [string] $IpAddress 15 | ) 16 | 17 | Import-DscResource -ModuleName PSDesiredStateConfiguration 18 | Import-DscResource -ModuleName xDhcpServer 19 | 20 | WindowsFeature DHCPServerTools 21 | { 22 | Name = 'RSAT-DHCP' 23 | Ensure = 'Present' 24 | } 25 | 26 | xDhcpServerAuthorization DHCPServerAuthorization 27 | { 28 | IsSingleInstance = 'Yes' 29 | DnsName = $DnsName 30 | IpAddress = $IpAddress 31 | Ensure = $Ensure 32 | DependsOn = '[WindowsFeature]DHCPServerTools' 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServerOptionDefinitions/DhcpServerOptionDefinitions.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpServerOptionDefinitions.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'e90e2862-2a8e-4223-ad0a-dbb29c179929' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpServerOptionDefinitions') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServerOptions/DhcpServerOptions.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DhcpServerOptions.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '305370a9-35e0-4c80-bc37-69da1cf33239' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DhcpServerOptions') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DhcpServerOptions/DhcpServerOptions.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DhcpServerOptions 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $ServerOptions 8 | ) 9 | 10 | <# 11 | AddressFamily = [string]{ IPv4 } 12 | OptionId = [UInt32] 13 | UserClass = [string] 14 | VendorClass = [string] 15 | [DependsOn = [string[]]] 16 | [Ensure = [string]{ Absent | Present }] 17 | [PsDscRunAsCredential = [PSCredential]] 18 | [Value = [string[]]] 19 | #> 20 | 21 | Import-DscResource -ModuleName xDhcpServer 22 | Import-DscResource -ModuleName PsDesiredStateConfiguration 23 | 24 | foreach ($serverOption in $ServerOptions) 25 | { 26 | if (-not $serverOption.ContainsKey('Ensure')) 27 | { 28 | $serverOption.Ensure = 'Present' 29 | } 30 | 31 | $executionName = "$($node.Name)_$($serverOption.ScopeId)_$($serverOption.OptionId)" 32 | (Get-DscSplattedResource -ResourceName DhcpServerOptionValue -ExecutionName $executionName -Properties $serverOption -NoInvoke).Invoke($serverOption) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/DSCResources/DiskAccessPaths/DiskAccessPaths.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DiskAccessPaths.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '032a7b12-ed19-4c40-a37b-50efba739374' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DiskAccessPaths') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DiskAccessPaths/DiskAccessPaths.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DiskAccessPaths 2 | { 3 | param ( 4 | [Parameter(Mandatory = $true)] 5 | [hashtable[]] 6 | $Items 7 | ) 8 | 9 | Import-DscResource -ModuleName StorageDsc 10 | 11 | foreach ($item in $Items) 12 | { 13 | $executionName = $item.AccessPath 14 | (Get-DscSplattedResource -ResourceName DiskAccessPath -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/DSCResources/Disks/Disks.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Disks.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1900e384-334c-4268-9112-8ae100a2d247' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('Disks') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Disks/Disks.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration Disks 2 | { 3 | param ( 4 | [Parameter(Mandatory = $true)] 5 | [hashtable[]] 6 | $Disks 7 | ) 8 | 9 | Import-DscResource -ModuleName PSDesiredStateConfiguration 10 | Import-DscResource -ModuleName StorageDsc 11 | 12 | foreach ($disk in $Disks) 13 | { 14 | # convert string with KB/MB/GB into Uint64 15 | if ($null -ne $disk.Size) 16 | { 17 | $disk.Size = [Uint64] ($disk.Size / 1) 18 | } 19 | 20 | # convert string with KB/MB/GB into Uint32 21 | if ($null -ne $disk.AllocationUnitSize) 22 | { 23 | $disk.AllocationUnitSize = [Uint32] ($disk.AllocationUnitSize / 1) 24 | } 25 | 26 | $executionName = $disk.DiskId 27 | (Get-DscSplattedResource -ResourceName Disk -ExecutionName $executionName -Properties $disk -NoInvoke).Invoke($disk) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerARecords/DnsServerARecords.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerARecords.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '1b76370b-fec9-4c14-bf93-ba03b0a87aa3' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerARecords') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerAdZones/DnsServerAdZones.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerAdZones.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '590b4286-0131-497b-86a7-0257773605b3' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsServerAdZones') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerAdZones/DnsServerAdZones.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerAdZones 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $AdZones, 8 | 9 | [Parameter()] 10 | [pscredential] 11 | $DomainCredential 12 | ) 13 | 14 | Import-DscResource -ModuleName PSDesiredStateConfiguration 15 | Import-DscResource -ModuleName DnsServerDsc 16 | 17 | foreach ($adZone in $AdZones) 18 | { 19 | if (-not $adZone.ContainsKey('Ensure')) 20 | { 21 | $adZone.Ensure = 'Present' 22 | } 23 | 24 | if ($DomainCredential) 25 | { 26 | $adZone.Credential = $DomainCredential 27 | } 28 | 29 | $executionName = "$($node.Name)_$($adZone.Name)" 30 | (Get-DscSplattedResource -ResourceName DnsServerADZone -ExecutionName $executionName -Properties $adZone -NoInvoke).Invoke($adZone) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerCNameRecords/DnsServerCNameRecords.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerCNameRecords.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '6b10ea6d-caf8-4135-b347-022757c9f811' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerCNameRecords') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerConditionalForwarders/DnsServerConditionalForwarders.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerConditionalForwarders.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '17950f73-5b5e-4bf8-bdb7-eadb7fc4cf77' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsServerConditionalForwarders') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerConditionalForwarders/DnsServerConditionalForwarders.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerConditionalForwarders 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $ConditionalForwarders 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName DnsServerDsc 12 | 13 | foreach ($conditionalForwarder in $ConditionalForwarders) 14 | { 15 | if (-not $conditionalForwarder.ContainsKey('Ensure')) 16 | { 17 | $conditionalForwarder.Ensure = 'Present' 18 | } 19 | 20 | $executionName = "$($node.Name)_$($conditionalForwarder.Name)" 21 | (Get-DscSplattedResource -ResourceName DnsServerConditionalForwarder -ExecutionName $executionName -Properties $conditionalForwarder -NoInvoke).Invoke($conditionalForwarder) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerForwarders/DnsServerForwarders.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerForwarders.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '98c9e72a-ce52-4b36-9b0c-63dd6c514cf8' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerForwarders') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerForwarders/DnsServerForwarders.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerForwarders 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [String[]] 7 | $IPAddresses, 8 | 9 | [Parameter()] 10 | [Boolean] 11 | $UseRootHint 12 | ) 13 | 14 | Import-DscResource -ModuleName PSDesiredStateConfiguration 15 | Import-DscResource -ModuleName DnsServerDsc 16 | 17 | WindowsFeature DNSServer 18 | { 19 | Name = 'DNS' 20 | Ensure = 'Present' 21 | } 22 | 23 | DnsServerForwarder dnsServerForwarderx 24 | { 25 | DependsOn = '[WindowsFeature]DNSServer' 26 | IsSingleInstance = 'Yes' 27 | IPAddresses = $IPAddresses 28 | UseRootHint = $UseRootHint 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerLegacySettings/DnsServerLegacySettings.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerLegacySettings.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5b7d264f-c150-48a1-9d33-76deb11e229b' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsServerLegacySettings') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerLegacySettings/DnsServerLegacySettings.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerLegacySettings { 2 | param ( 3 | [Parameter()] 4 | [string] 5 | $DnsServer = 'localhost', 6 | 7 | [Parameter()] 8 | [uint32] 9 | $LogLevel, 10 | 11 | [Parameter()] 12 | [bool] 13 | $DisjointNets, 14 | 15 | [Parameter()] 16 | [bool] 17 | $NoForwarderRecursion 18 | ) 19 | 20 | Import-DscResource -ModuleName PSDesiredStateConfiguration 21 | Import-DscResource -ModuleName DnsServerDsc 22 | 23 | $PSBoundParameters.Remove('InstanceName') 24 | $PSBoundParameters.Remove('DependsOn') 25 | 26 | $executionName = 'DnsServerSettingLegacy' 27 | (Get-DscSplattedResource -ResourceName DnsServerSettingLegacy -ExecutionName $executionName -Properties $PSBoundParameters -NoInvoke).Invoke($PSBoundParameters) 28 | } 29 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerMxRecords/DnsServerMxRecords.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerMxRecords.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = 'd15bead9-02e8-49ab-b0c8-ff369f6d7dbb' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerMxRecords') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerPrimaryZones/DnsServerPrimaryZones.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerPrimaryZones.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '7d3d18a4-4b27-47a3-9cbf-b33b0cbd59eb' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerPrimaryZones') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerPrimaryZones/DnsServerPrimaryZones.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerPrimaryZones 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [Hashtable[]] 7 | $PrimaryZones 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName DnsServerDsc 12 | 13 | WindowsFeature DNSServer 14 | { 15 | Name = 'DNS' 16 | Ensure = 'Present' 17 | } 18 | 19 | foreach ($primaryZone in $PrimaryZones) 20 | { 21 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 22 | $primaryZone = @{} + $primaryZone 23 | 24 | if (-not $primaryZone.ContainsKey('Ensure')) 25 | { 26 | $primaryZone.Ensure = 'Present' 27 | } 28 | 29 | $primaryZone.DependsOn = '[WindowsFeature]DNSServer' 30 | 31 | $executionName = "dnspzone_$($primaryZone.Name -replace '[()-.:\s]', '_')" 32 | 33 | (Get-DscSplattedResource -ResourceName DnsServerPrimaryZone -ExecutionName $executionName -Properties $primaryZone -NoInvoke).Invoke($primaryZone) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerQueryResolutionPolicies/DnsServerQueryResolutionPolicies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerQueryResolutionPolicies.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '99e4f4e8-1657-4b3a-8b77-bb19e4d2c292' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerQueryResolutionPolicies') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerResponseRateLimiting/DnsServerResponseRateLimiting.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerResponseRateLimiting.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '6029ebf0-77c9-4ba3-a00b-6b795416ae8e' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerResponseRateLimiting') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerRootHints/DnsServerRootHints.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerRootHints.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'f8d25363-fb7c-4a7d-bb40-3dcf9a5710bc' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsServerRootHints') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerRootHints/DnsServerRootHints.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerRootHints 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable] 7 | $RootHints 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName DnsServerDsc 12 | 13 | $param = @{ 14 | IsSingleInstance = 'Yes' 15 | NameServer = $RootHints 16 | } 17 | 18 | $executionName = 'RootHints' 19 | (Get-DscSplattedResource -ResourceName DnsServerRootHint -ExecutionName $executionName -Properties $param -NoInvoke).Invoke($param) 20 | } 21 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerSettings/DnsServerSettings.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerSettings.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '3e9796a7-821a-4c19-a6c7-d37e8486e317' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsServerSettings') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerZonesAging/DnsServerZonesAging.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsServerZonesAging.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = 'ba051d35-5156-4285-86b5-7b6ed7f3c54e' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('DnsServerZonesAging') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/DnsServerZonesAging/DnsServerZonesAging.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsServerZonesAging 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [Hashtable[]] 7 | $Zones 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName DnsServerDsc 12 | 13 | foreach ($zone in $Zones) 14 | { 15 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 16 | $zone = @{} + $zone 17 | 18 | if (-not $zone.ContainsKey('Enabled')) 19 | { 20 | $zone.Enabled = $true 21 | } 22 | 23 | $executionName = "dnszoneaging_$($zone.Name -replace '[()-.:\s]', '_')" 24 | 25 | (Get-DscSplattedResource -ResourceName DnsServerZoneAging -ExecutionName $executionName -Properties $zone -NoInvoke).Invoke($zone) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/DSCResources/DnsSuffixes/DnsSuffixes.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DnsSuffixes.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '20392fe9-270d-4295-af2c-2401dd015596' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DnsSuffixes') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DnsSuffixes/DnsSuffixes.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration DnsSuffixes 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Suffixes 8 | ) 9 | 10 | Import-DscResource -ModuleName NetworkingDsc -Name DnsConnectionSuffix 11 | 12 | foreach ($suffix in $Suffixes) 13 | { 14 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 15 | $suffix = @{} + $suffix 16 | 17 | if (-not $suffix.ContainsKey('Ensure')) 18 | { 19 | $suffix.Ensure = 'Present' 20 | } 21 | 22 | $executionName = "dnssuffix_$($suffix.InterfaceAlias)_$($suffix.ConnectionSpecificSuffix)" -replace '[()-.:\s]', '_' 23 | 24 | (Get-DscSplattedResource -ResourceName DnsConnectionSuffix -ExecutionName $executionName -Properties $suffix -NoInvoke).Invoke($suffix) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DSCResources/DscDiagnostic/DscDiagnostic.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscDiagnostic.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '20392fe9-270d-4295-af2c-0749dd015596' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscDiagnostic') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DscLcmController/DscLcmController.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscLcmController.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '3ee0348a-223e-4f2b-b2f2-662fabccf05b' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscLcmController') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DscLcmMaintenanceWindows/DscLcmMaintenanceWindows.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscLcmMaintenanceWindows.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'f89ef950-808a-4698-ad82-649352863022' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscLcmMaintenanceWindows') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DscPullServer/DscPullServer.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscPullServer.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '346717b3-80b5-4846-8fcf-c9e3a83f54a4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscPullServer') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DscPullServerSql/DscPullServerSql.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscPullServerSql.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '771ba25d-128b-4645-a573-faab2d2ce482' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscPullServerSql') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/DscTagging/DscTagging.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'DscTagging.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c25304c4-f319-4963-ba13-4a77ee15f151' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('DscTagging') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/EnvironmentVariables/EnvironmentVariables.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'EnvironmentVariables.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4fd4254c-bea0-4d30-9e7f-acb95e022a85' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('EnvironmentVariables') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/EnvironmentVariables/EnvironmentVariables.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration EnvironmentVariables { 2 | param ( 3 | [Parameter()] 4 | [hashtable[]] 5 | $Variables 6 | ) 7 | 8 | <# 9 | xEnvironment [String] #ResourceName 10 | { 11 | Name = [string] 12 | [DependsOn = [string[]]] 13 | [Ensure = [string]{ Absent | Present }] 14 | [Path = [bool]] 15 | [PsDscRunAsCredential = [PSCredential]] 16 | [Target = [string[]]{ Machine | Process }] 17 | [Value = [string]] 18 | } 19 | #> 20 | 21 | Import-DscResource -ModuleName PSDesiredStateConfiguration 22 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 23 | 24 | foreach ($variable in $Variables) 25 | { 26 | $variable = @{} + $variable 27 | 28 | if (-not $variable.ContainsKey('Ensure')) 29 | { 30 | $variable.Ensure = 'Present' 31 | } 32 | 33 | (Get-DscSplattedResource -ResourceName xEnvironment -ExecutionName $variable.Name -Properties $variable -NoInvoke).Invoke($variable) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeAutoMountPoints/ExchangeAutoMountPoints.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeAutoMountPoints.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4cb4136a-0856-4c4c-9372-a940d9fb0343' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ExchangeAutoMountPoints') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeConfiguration/ExchangeConfiguration.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeConfiguration.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '87632754-26d6-4843-a45a-4f9e35dd1afe' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('ExchangeConfiguration') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeDagProvisioning/ExchangeDagProvisioning.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeDagProvisioning.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '7b5f63f6-b247-4940-946a-525bacc4bfe3' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ExchangeDagProvisioning') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeMailboxDatabaseCopies/ExchangeMailboxDatabaseCopies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeMailboxDatabaseCopies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '2108edfb-f35e-43d9-aeb7-ddc14c64da13' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ExchangeMailboxDatabaseCopies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeMailboxDatabases/ExchangeMailboxDatabases.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeMailboxDatabases.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'ef898a4e-0d74-41da-a647-7d23deb62fb7' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ExchangeMailboxDatabases') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ExchangeProvisioning/ExchangeProvisioning.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ExchangeProvisioning.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '408753c0-ead3-4e1e-94a1-e1556e2647c3' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ExchangeProvisioning') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FailoverCluster/FailoverCluster.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'FailoverCluster.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '828a0348-d02a-450f-bb45-c9e1bf2a3521' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('FailoverCluster') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FileContents/FileContents.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'FileContents.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'f1239d3f-db1a-4070-ac7e-c2c8c7aa67dc' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('FileContents') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FilesAndFolders/FilesAndFolders.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'FilesAndFolders.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '89446cc0-0e57-41c9-809e-de0fe6a13fec' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('FilesAndFolders') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FirewallProfiles/FirewallProfiles.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'FirewallProfiles.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'e9517597-219b-433c-82a5-3ccfbfa14a3b' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('FirewallProfiles') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FirewallProfiles/FirewallProfiles.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration FirewallProfiles { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]]$Profile 5 | ) 6 | 7 | Import-DscResource -ModuleName PSDesiredStateConfiguration 8 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 9 | Import-DscResource -ModuleName NetworkingDsc 10 | 11 | foreach ($item in $Profile) 12 | { 13 | $executionName = "FirewallProfile_$($item.Name)" 14 | (Get-DscSplattedResource -ResourceName FirewallProfile -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /source/DSCResources/FirewallRules/FirewallRules.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'FirewallRules.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1c7193c4-430d-491f-a20f-30f7159560b0' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('FirewallRules') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/FirewallRules/FirewallRules.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration FirewallRules { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]]$Rules 5 | ) 6 | 7 | Import-DscResource -ModuleName PSDesiredStateConfiguration 8 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 9 | Import-DscResource -ModuleName NetworkingDsc 10 | 11 | foreach ($item in $Rules) 12 | { 13 | $executionName = "Firewall_$($item.Name)" 14 | (Get-DscSplattedResource -ResourceName Firewall -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /source/DSCResources/HostsFileEntries/HostsFileEntries.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'HostsFileEntries.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '66e38092-98d1-4192-aa3d-a54894da3c8d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('HostsFileEntries') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/HostsFileEntries/HostsFileEntries.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration HostsFileEntries 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Entries 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName NetworkingDsc 12 | 13 | foreach ($entry in $Entries) 14 | { 15 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 16 | $entry = @{} + $entry 17 | 18 | if (-not $entry.ContainsKey('Ensure')) 19 | { 20 | $entry.Ensure = 'Present' 21 | } 22 | 23 | $executionName = "hosts_$($entry.Hostname)" 24 | 25 | (Get-DscSplattedResource -ResourceName HostsFile -ExecutionName $executionName -Properties $entry -NoInvoke).Invoke($entry) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/DSCResources/HyperV/HyperV.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'HyperV.schema.psm1' 3 | ModuleVersion = '0.0.3' 4 | GUID = 'b1a48cb4-51c5-49f7-9fb5-c89606d5da53' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('HyperV') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/HyperVReplica/HyperVReplica.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'HyperVReplica.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '0ec1207c-9deb-492a-b88b-f60771532068' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('HyperVReplica') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/HyperVState/HyperVState.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'HyperVState.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '0651c256-795a-4992-a8d9-fb34cac57f41' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('HyperVState') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/IpConfiguration/IpConfiguration.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'IPConfiguration.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '06f7eb99-05a9-4476-8530-e4d28030fe70' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | RequiredModules = @() 9 | DscResourcesToExport = @('IPConfiguration') 10 | } 11 | -------------------------------------------------------------------------------- /source/DSCResources/JeaEndpoints/JeaEndpoints.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'JeaEndpoints.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '2a43d26c-d42b-46cb-b055-e5670a2f3c6c' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('JeaEndpoints') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/JeaEndpoints/JeaEndpoints.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration JeaEndpoints { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Endpoints 6 | ) 7 | 8 | Import-Module JeaDsc 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName JeaDsc 12 | 13 | foreach ($endpoint in $Endpoints) 14 | { 15 | if (-not $endpoint.ContainsKey('Ensure')) 16 | { 17 | $endpoint.Ensure = 'Present' 18 | } 19 | 20 | if ($endpoint.RoleDefinitions) 21 | { 22 | $endpoint.RoleDefinitions = ConvertTo-Expression -Object $endpoint.RoleDefinitions -Explore 23 | } 24 | 25 | (Get-DscSplattedResource -ResourceName JeaSessionConfiguration -ExecutionName "JeaSessionConfiguration_$($endpoint.Name)" -Properties $endpoint -NoInvoke).Invoke($endpoint) 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /source/DSCResources/JeaRoles/JeaRoles.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'JeaRoles.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '9f02820d-a99d-4385-a94d-d6335f8dbf5a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('JeaRoles') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/LocalGroups/LocalGroups.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'LocalGroups.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5d759160-cf7d-4bac-994b-a69d1a4cf0b0' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('LocalGroups') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/LocalGroups/LocalGroups.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration LocalGroups { 2 | param ( 3 | [Parameter()] 4 | [hashtable[]] 5 | $Groups 6 | ) 7 | 8 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 9 | 10 | foreach ($group in $Groups) 11 | { 12 | $executionName = $group.GroupName -replace '[\s(){}/\\:-]', '_' 13 | (Get-DscSplattedResource -ResourceName xGroup -ExecutionName $executionName -Properties $group -NoInvoke).Invoke($group) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/LocalUsers/LocalUsers.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'LocalUsers.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '705309ad-b027-446f-9ad5-974ba07eafb2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('LocalUserss') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/MmaAgent/MmaAgent.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'MmaAgent.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '705309ad-b027-446f-9ad5-974ba07eafb2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('MmaAgent') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/MmaAgent/MmaAgent.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration MmaAgent 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [string] 7 | $WorkspaceId, 8 | 9 | [Parameter(Mandatory = $true)] 10 | [pscredential] 11 | $WorkspaceKey, 12 | 13 | [Parameter()] 14 | [string] 15 | $ProxyUri, 16 | 17 | [Parameter()] 18 | [pscredential] 19 | $ProxyCredential 20 | ) 21 | 22 | Import-DscResource -ModuleName PSDesiredStateConfiguration 23 | Import-DscResource -ModuleName MmaDsc 24 | 25 | $PSBoundParameters.Remove('InstanceName') 26 | $PSBoundParameters.Remove('DependsOn') 27 | 28 | (Get-DscSplattedResource -ResourceName WorkspaceConfiguration -ExecutionName MmaConfig -Properties $PSBoundParameters -NoInvoke).Invoke($PSBoundParameters) 29 | } 30 | -------------------------------------------------------------------------------- /source/DSCResources/MountImages/MountImages.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'MountImages.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'fcae8030-a651-4cef-9517-c155f1a5d996' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('MountImages') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Network/Network.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Network.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '197e8e36-8686-4135-9d16-72d0dbfafee9' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('Network') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/NetworkIpConfiguration/NetworkIpConfiguration.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'NetworkIpConfiguration.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'a17a202a-e7f1-4279-aa73-3e3aadbc461c' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('NetworkIpConfiguration') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/OfficeOnlineServerFarmConfig/OfficeOnlineServerFarmConfig.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'OfficeOnlineServerFarmConfig.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '51366a4a-b83a-4b47-b6d6-9a9c6367502a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('OfficeOnlineServerFarmConfig') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/OfficeOnlineServerMachineConfig/OfficeOnlineServerMachineConfig.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'OfficeOnlineServerMachineConfig.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'bc3db5e4-9480-43cb-a87c-a6a7327951a5' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('OfficeOnlineServerMachineConfig') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/OfficeOnlineServerMachineConfig/OfficeOnlineServerMachineConfig.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration OfficeOnlineServerMachineConfig 2 | { 3 | [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '')] 4 | 5 | param ( 6 | [Parameter()] 7 | [ValidateSet('Present', 'Absent')] 8 | [System.String] 9 | $Ensure = 'Present', 10 | 11 | [Parameter()] 12 | [System.String[]] 13 | $Roles, 14 | 15 | [Parameter(Mandatory = $true)] 16 | [System.String] 17 | $MachineToJoin 18 | ) 19 | 20 | Import-DscResource -ModuleName PSDesiredStateConfiguration 21 | Import-DscResource -ModuleName OfficeOnlineServerDsc 22 | 23 | $param = $PSBoundParameters 24 | $param.Remove('InstanceName') 25 | $param.Remove('DependsOn') 26 | $exeutionName = "$($node.Name)_FarmJoin" 27 | (Get-DscSplattedResource -ResourceName OfficeOnlineServerMachine -ExecutionName $exeutionName -Properties $param -NoInvoke).Invoke($param) 28 | 29 | } 30 | -------------------------------------------------------------------------------- /source/DSCResources/OfficeOnlineServerSetup/OfficeOnlineServerSetup.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'OfficeOnlineServerSetup.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '9cf9b3a6-e1ee-4287-a0d1-64f4f0d7f342' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('OfficeOnlineServerSetup') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/OpticalDiskDrives/OpticalDiskDrives.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'OpticalDiskDrives.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '7ca5461e-2008-4917-aefc-4461b68006a6' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('OpticalDiskDrives') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/OpticalDiskDrives/OpticalDiskDrives.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration OpticalDiskDrives 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Drives 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName StorageDsc 12 | 13 | foreach ($drive in $Drives) 14 | { 15 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 16 | $drive = @{} + $drive 17 | 18 | if (-not $drive.ContainsKey('Ensure')) 19 | { 20 | $drive.Ensure = 'Present' 21 | } 22 | 23 | if ($drive.Ensure -eq 'Absent' -and -not $drive.ContainsKey('DriveLetter')) 24 | { 25 | $drive.DriveLetter = 'Z' # unused but required 26 | } 27 | 28 | (Get-DscSplattedResource -ResourceName OpticalDiskDriveLetter -ExecutionName "optDiskDrive$($drive.DiskId)" -Properties $drive -NoInvoke).Invoke($drive) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/DSCResources/PowerPlans/PowerPlans.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'PowerPlans.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'b3e06a63-9425-4a23-ae66-ad5086e7fc2f' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('PowerPlans') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/PowerShellRepositories/PowerShellRepositories.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'PowerShellRepositories.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'b3e06a63-9425-4a23-ae66-ad5086e7fc2f' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('PowerShellRepositories') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/PowerShellRepositories/PowerShellRepositories.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration PowerShellRepositories 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [Hashtable[]] 7 | $Repositories 8 | ) 9 | 10 | Import-DscResource -ModuleName PowerShellGet -ModuleVersion 2.2.5 11 | 12 | foreach ($repo in $Repositories) 13 | { 14 | (Get-DscSplattedResource -ResourceName PSRepository -ExecutionName "PSRepo$($repo.Name)" -Properties $repo -NoInvoke).Invoke($repo) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/DSCResources/PowershellExecutionPolicies/PowershellExecutionPolicies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'PowershellExecutionPolicies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c2819374-119d-4f00-8b2a-ea8f76299554' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('PowershellExecutionPolicies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/PowershellExecutionPolicies/PowershellExecutionPolicies.schema.psm1: -------------------------------------------------------------------------------- 1 | Configuration PowershellExecutionPolicies 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] $Policies 7 | ) 8 | 9 | Import-DscResource -ModuleName ComputerManagementDsc 10 | 11 | foreach ($policy in $Policies) 12 | { 13 | $policy = @{} + $policy 14 | 15 | $executionName = "PowershellExecutionPolicy_$($policy.ExecutionPolicyScope)" -replace '[\s(){}/\\:-]', '_' 16 | (Get-DscSplattedResource -ResourceName PowershellExecutionPolicy -ExecutionName $executionName -Properties $policy -NoInvoke).Invoke($policy) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/DSCResources/RegistryPolicies/RegistryPolicies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RegistryPolicies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'f5f31561-d292-4ae3-beb3-baa5054b1ea4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RegistryPolicies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RegistryValues/RegistryValues.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RegistryValues.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '2aab897b-85c4-4643-8928-67892348dd1a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RegistryValues') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RegistryValues/RegistryValues.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RegistryValues { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Values 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 10 | 11 | foreach ($value in $values) 12 | { 13 | if (-not $value.ContainsKey('Ensure')) 14 | { 15 | $value.Ensure = 'Present' 16 | } 17 | if ([String]::IsNullOrEmpty($value.ValueName)) 18 | { 19 | $value.ValueName = '' 20 | } 21 | if ([String]::IsNullOrEmpty($value.ValueData) -and ($value.Ensure -eq 'Present')) 22 | { 23 | $value.ValueData = '' 24 | } 25 | $executionName = ($value.Key + '__' + $value.ValueName) -replace '[\s(){}/\\:-]', '_' 26 | (Get-DscSplattedResource -ResourceName xRegistry -ExecutionName $executionName -Properties $value -NoInvoke).Invoke($value) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopCertificates/RemoteDesktopCertificates.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopCertificates.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-1101-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopCertificates') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopCertificates/RemoteDesktopCertificates.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RemoteDesktopCertificates 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Certificates 8 | ) 9 | 10 | <# 11 | @{ 12 | ConnectionBroker = [string] 13 | ImportPath = [string] 14 | Role = [string]{ RDGateway | RDPublishing | RDRedirector | RDWebAccess } 15 | [Credential = [PSCredential]] 16 | [DependsOn = [string[]]] 17 | [PsDscRunAsCredential = [PSCredential]] 18 | } 19 | #> 20 | Import-DscResource -ModuleName xRemoteDesktopSessionHost 21 | 22 | foreach ($certificate in $Certificates) 23 | { 24 | $executionName = "rdscert_$($certificate.ConnectionBroker)_$($certificate.Role)_$($certificate.ImportPath -replace '\W', '')" 25 | 26 | (Get-DscSplattedResource -ResourceName xRDCertificateConfiguration -ExecutionName $executionName -Properties $certificate -NoInvoke).Invoke($certificate) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopCollections/RemoteDesktopCollections.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopCollections.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-4417-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopCollections') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopDeployment/RemoteDesktopDeployment.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopDeployment.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-4417-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopDeployment') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopDeployment/RemoteDesktopDeployment.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RemoteDesktopDeployment 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [string] 7 | $ConnectionBroker, 8 | 9 | [Parameter()] 10 | [string] 11 | $WebAccess, 12 | 13 | [Parameter()] 14 | [string[]] 15 | $SessionHosts, 16 | 17 | [Parameter()] 18 | [hashtable[]] 19 | $Gateways 20 | ) 21 | 22 | Import-DscResource -ModuleName xRemoteDesktopSessionHost 23 | 24 | 25 | xRDSessionDeployment RDS 26 | { 27 | ConnectionBroker = $ConnectionBroker 28 | WebAccessServer = $WebAccess 29 | SessionHost = $SessionHosts 30 | } 31 | 32 | foreach ($gateway in $Gateways) 33 | { 34 | $executionName = "rdsgw_$($gateway.GatewayServer -replace '[().:\s]', '')" 35 | 36 | (Get-DscSplattedResource -ResourceName xRDSessionDeployment -ExecutionName $executionName -Properties $gateway -NoInvoke).Invoke($gateway) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopHAMode/RemoteDesktopHAMode.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopHAMode.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12ef-4417-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopHAMode') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopLicensing/RemoteDesktopLicensing.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopLicensing.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-4417-43cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopLicensing') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopLicensing/RemoteDesktopLicensing.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RemoteDesktopLicensing 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [string] 7 | $ConnectionBroker, 8 | 9 | [Parameter()] 10 | [string] 11 | $LicenseServer = $Node.NodeName, 12 | 13 | [Parameter(Mandatory = $true)] 14 | [ValidateSet("PerUser", "PerDevice", "NotConfigured")] 15 | $LicenseMode 16 | ) 17 | 18 | Import-DscResource -ModuleName xRemoteDesktopSessionHost 19 | 20 | 21 | xRDServer RDSLicense 22 | { 23 | Role = 'RDS-Licensing' 24 | Server = $LicenseServer 25 | ConnectionBroker = $ConnectionBroker 26 | } 27 | 28 | xRDLicenseConfiguration Licensing 29 | { 30 | DependsOn = '[xRDServer]RDSLicense' 31 | ConnectionBroker = $ConnectionBroker 32 | LicenseServer = $LicenseServer 33 | LicenseMode = $LicenseMode 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopServers/RemoteDesktopServers.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RemoteDesktopServers.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4c8e12dc-4417-43cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RemoteDesktopServers') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RemoteDesktopServers/RemoteDesktopServers.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RemoteDesktopServers 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] 7 | $Servers 8 | ) 9 | 10 | <# 11 | @{ 12 | Role = [string]{ RDS-Connection-Broker | RDS-Gateway | RDS-Licensing | RDS-RD-Server | RDS-Virtualization | RDS-Web-Access } 13 | Server = [string] 14 | [ConnectionBroker = [string]] 15 | [DependsOn = [string[]]] 16 | [GatewayExternalFqdn = [string]] 17 | [PsDscRunAsCredential = [PSCredential]] 18 | } 19 | #> 20 | 21 | Import-DscResource -ModuleName PSDesiredStateConfiguration 22 | Import-DscResource -ModuleName xRemoteDesktopSessionHost 23 | 24 | foreach ($server in $Servers) 25 | { 26 | $server = @{} + $server 27 | 28 | $executionName = "RDSRole_$($server.Role)_on_$($server.Server)" -replace '[\s(){}/\\:-]', '_' 29 | (Get-DscSplattedResource -ResourceName xRDServer -ExecutionName $executionName -Properties $server -NoInvoke).Invoke($server) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DSCResources/RenameNetworkAdapters/RenameNetworkAdapters.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RenameNetworkAdapters.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-4437-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RenameNetworkAdapters') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/RenameNetworkAdapters/RenameNetworkAdapters.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration RenameNetworkAdapters 2 | { 3 | [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidGlobalVars', '')] 4 | [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] 5 | 6 | param ( 7 | [Parameter(Mandatory = $true)] 8 | [hashtable[]] 9 | $Adapters 10 | ) 11 | 12 | Import-DscResource -ModuleName PSDesiredStateConfiguration 13 | Import-DscResource -ModuleName NetworkingDsc 14 | 15 | foreach ($adapter in $Adapters) 16 | { 17 | $adapter = @{} + $adapter 18 | 19 | $executionName = "NetAdapterName_$($adapter.NewName)" -replace '[\s(){}/\\:-]', '_' 20 | (Get-DscSplattedResource -ResourceName NetAdapterName -ExecutionName $executionName -Properties $adapter -NoInvoke).Invoke($adapter) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/DSCResources/RestartSystem/RestartSystem.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'RestartSystem.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4f8e12dc-4437-42cc-9844-035af67576f4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('RestartSystem') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Robocopies/Robocopies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Robocopies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '0249017d-e4d4-4dcb-a0a1-6b28ef8967db' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('Robocopies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Robocopies/Robocopies.schema.psm1: -------------------------------------------------------------------------------- 1 | Configuration Robocopies 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] $Items 7 | ) 8 | 9 | Import-DscResource -ModuleName xRobocopy 10 | 11 | foreach ($item in $Items) 12 | { 13 | $item = @{} + $item 14 | 15 | $executionName = "xRobocopy_$($item.Destination)" -replace '[\s(){}/\\:-]', '_' 16 | (Get-DscSplattedResource -ResourceName xRobocopy -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/DSCResources/ScheduledTasks/ScheduledTasks.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ScheduledTasks.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'f05ec9d5-5e41-437d-99e7-ffedd92a95aa' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ScheduledTasks') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ScheduledTasks/ScheduledTasks.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration ScheduledTasks 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $Tasks 8 | ) 9 | 10 | Import-DscResource -ModuleName PSDesiredStateConfiguration 11 | Import-DscResource -ModuleName ComputerManagementDsc 12 | 13 | foreach ($task in $Tasks) 14 | { 15 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 16 | $task = @{} + $task 17 | 18 | if ($null -ne $task.ExecuteAsCredential) 19 | { 20 | $task.ExecuteAsCredential = [PSCredential]$task.ExecuteAsCredential 21 | #$task.Remove( 'ExecuteAsCredential' ) 22 | } 23 | 24 | $executionName = "task_$($task.TaskName -replace '[().:\s]', '')" 25 | 26 | (Get-DscSplattedResource -ResourceName ScheduledTask -ExecutionName $executionName -Properties $task -NoInvoke).Invoke($task) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/DSCResources/ScomComponents/ScomComponents.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ScomComponents.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '58f0ca1a-022f-42ea-84b3-c7ff3067fad2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ScomComponents') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ScomManagementPacks/ScomManagementPacks.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ScomManagementPacks.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '7399f8ba-b26d-4968-9cf8-01ef708e528d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ScomManagementPacks') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/ScomManagementPacks/ScomManagementPacks.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration ScomManagementPacks 2 | { 3 | param 4 | ( 5 | [Parameter()] 6 | [hashtable[]] 7 | $ManagementPacks 8 | ) 9 | 10 | Import-DscResource -ModuleName cScom 11 | <# 12 | Name 13 | ManagementPackPath 14 | ManagementPackContent 15 | #> 16 | 17 | foreach ($manPack in $ManagementPacks) 18 | { 19 | $manPack = @{} + $manPack 20 | if ($manPack.Contains('ManagementPackPath') -and $manPack.Contains('ManagementPackContent')) 21 | { 22 | throw '[ScomManagementPacks] Both ManagementPackPath as well as ManagementPackContent specified.' 23 | } 24 | 25 | $executionName = "scommp_$($manPack.Name)" 26 | 27 | (Get-DscSplattedResource -ResourceName ScomManagementPack -ExecutionName $executionName -Properties $manPack -NoInvoke).Invoke($manPack) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/DSCResources/ScomSettings/ScomSettings.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'ScomSettings.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '7399f9ba-b26d-4968-9cf8-01ef708e528d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('ScomSettings') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/Scripts/Scripts.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Scripts.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '58f0ca1a-02df-42ea-84b3-c7ff3067fad2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('Scripts') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SecurityBase/SecurityBase.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SecurityBase.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '6b2f1809-107e-474b-84fa-d0a658ef4285' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SecurityBase') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SecurityPolicies/SecurityPolicies.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SecurityPolicies.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'ee9eeeaa-b8e4-49fc-85c9-f71ab1a2d983' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SecurityPolicies') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointCacheAccounts/SharePointCacheAccounts.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointCacheAccounts.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5bee1915-9856-47d8-a3a6-503632bba939' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointCacheAccounts') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointCacheAccounts/SharePointCacheAccounts.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointCacheAccounts 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $CacheAccounts 7 | ) 8 | 9 | <# 10 | SuperReaderAlias = [string] 11 | SuperUserAlias = [string] 12 | WebAppUrl = [string] 13 | [DependsOn = [string[]]] 14 | [InstallAccount = [PSCredential]] 15 | [PsDscRunAsCredential = [PSCredential]] 16 | [SetWebAppPolicy = [bool]] 17 | #> 18 | 19 | Import-DscResource -ModuleName PSDesiredStateConfiguration 20 | Import-DscResource -ModuleName SharePointDSC 21 | 22 | foreach ($item in $CacheAccounts) 23 | { 24 | $executionName = "$($item.SuperUserAlias)-$($item.SuperUserAlias)" 25 | (Get-DscSplattedResource -ResourceName SPCacheAccounts -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointContentDatabases/SharePointContentDatabases.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointContentDatabases.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'a4c168ab-ee4b-441e-b8e2-5ff7af3dda72' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointContentDatabases') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointContentDatabases/SharePointContentDatabases.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointContentDatabases 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $ContentDatabases 7 | ) 8 | 9 | <# 10 | Name = [string] 11 | WebAppUrl = [string] 12 | [DatabaseCredentials = [PSCredential]] 13 | [DatabaseServer = [string]] 14 | [DependsOn = [string[]]] 15 | [Enabled = [bool]] 16 | [Ensure = [string]{ Absent | Present }] 17 | [InstallAccount = [PSCredential]] 18 | [MaximumSiteCount = [UInt16]] 19 | [PsDscRunAsCredential = [PSCredential]] 20 | [UseSQLAuthentication = [bool]] 21 | [WarningSiteCount = [UInt16]] 22 | #> 23 | 24 | Import-DscResource -ModuleName PSDesiredStateConfiguration 25 | Import-DscResource -ModuleName SharePointDSC 26 | 27 | foreach ($item in $ContentDatabases) 28 | { 29 | if (-not $item.ContainsKey('Ensure')) 30 | { 31 | $item.Ensure = 'Present' 32 | } 33 | 34 | $executionName = $item.Name 35 | (Get-DscSplattedResource -ResourceName SPContentDatabase -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointManagedAccounts/SharePointManagedAccounts.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointManagedAccounts.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5df3fbf7-b8f8-43d6-a32d-1575631f65a4' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointManagedAccounts') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointManagedAccounts/SharePointManagedAccounts.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointManagedAccounts 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $ManagedAccounts 7 | ) 8 | 9 | <# 10 | AccountName = [string] 11 | [Account = [PSCredential]] 12 | [DependsOn = [string[]]] 13 | [EmailNotification = [UInt32]] 14 | [Ensure = [string]{ Absent | Present }] 15 | [InstallAccount = [PSCredential]] 16 | [PreExpireDays = [UInt32]] 17 | [PsDscRunAsCredential = [PSCredential]] 18 | [Schedule = [string]] 19 | #> 20 | 21 | Import-DscResource -ModuleName PSDesiredStateConfiguration 22 | Import-DscResource -ModuleName SharePointDSC 23 | 24 | foreach ($item in $ManagedAccounts) 25 | { 26 | if (-not $item.ContainsKey('Ensure')) 27 | { 28 | $item.Ensure = 'Present' 29 | } 30 | 31 | $executionName = $item.AccountName 32 | (Get-DscSplattedResource -ResourceName SPManagedAccount -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointManagedPaths/SharePointManagedPaths.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointManagedPaths.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '5077a89e-ffca-4bea-9833-090b8242f13a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointManagedPaths') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointManagedPaths/SharePointManagedPaths.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointManagedPaths 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $ManagedPaths 7 | ) 8 | 9 | <# 10 | Explicit = [bool] 11 | HostHeader = [bool] 12 | RelativeUrl = [string] 13 | WebAppUrl = [string] 14 | [DependsOn = [string[]]] 15 | [Ensure = [string]{ Absent | Present }] 16 | [InstallAccount = [PSCredential]] 17 | [PsDscRunAsCredential = [PSCredential]] 18 | #> 19 | 20 | Import-DscResource -ModuleName PSDesiredStateConfiguration 21 | Import-DscResource -ModuleName SharePointDSC 22 | 23 | foreach ($item in $ManagedPaths) 24 | { 25 | if (-not $item.ContainsKey('Ensure')) 26 | { 27 | $item.Ensure = 'Present' 28 | } 29 | 30 | $executionName = Get-Random 31 | (Get-DscSplattedResource -ResourceName SPManagedPath -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointPrereq/SharePointPrereq.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointPrereq.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '78695af1-57ea-44c2-9857-816db85ebfae' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointPrereq') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointProvisioning/SharePointProvisioning.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointProvisioning.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '40aaab35-3d9b-427d-8199-2fc4219c98d6' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointProvisioning') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointServiceAppPools/SharePointServiceAppPools.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointServiceAppPools.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '82066988-7f83-4bae-9898-8292949bed3d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointServiceAppPools') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointServiceAppPools/SharePointServiceAppPools.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointServiceAppPools 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $ServiceAppPools 7 | ) 8 | 9 | <# 10 | Name = [string] 11 | ServiceAccount = [string] 12 | [DependsOn = [string[]]] 13 | [Ensure = [string]{ Absent | Present }] 14 | [InstallAccount = [PSCredential]] 15 | [PsDscRunAsCredential = [PSCredential]] 16 | #> 17 | 18 | Import-DscResource -ModuleName PSDesiredStateConfiguration 19 | Import-DscResource -ModuleName SharePointDSC 20 | 21 | foreach ($item in $ServiceAppPools) 22 | { 23 | if (-not $item.ContainsKey('Ensure')) 24 | { 25 | $item.Ensure = 'Present' 26 | } 27 | 28 | $executionName = $item.Name -replace ' ', '' 29 | (Get-DscSplattedResource -ResourceName SPServiceAppPool -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointServiceInstances/SharePointServiceInstances.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointServiceInstances.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'e0f5c71d-36f8-49fb-9025-44297da6eac8' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointServiceInstances') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointServiceInstances/SharePointServiceInstances.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SharePointServiceInstances 2 | { 3 | param ( 4 | [Parameter()] 5 | [hashtable[]] 6 | $ServiceInstances 7 | ) 8 | 9 | <# 10 | Name = [string] 11 | [DependsOn = [string[]]] 12 | [Ensure = [string]{ Absent | Present }] 13 | [InstallAccount = [PSCredential]] 14 | [PsDscRunAsCredential = [PSCredential]] 15 | #> 16 | 17 | Import-DscResource -ModuleName PSDesiredStateConfiguration 18 | Import-DscResource -ModuleName SharePointDSC 19 | 20 | foreach ($item in $ServiceInstances) 21 | { 22 | if (-not $item.ContainsKey('Ensure')) 23 | { 24 | $item.Ensure = 'Present' 25 | } 26 | 27 | $executionName = $item.Name -replace ' ', '' 28 | (Get-DscSplattedResource -ResourceName SPServiceInstance -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointSetup/SharePointSetup.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointSetup.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'baecb7c5-f634-4ae7-a471-fc57c8b006b6' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointSetup') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointSites/SharePointSites.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointSites.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'cf52a3df-2e35-435a-8117-d2ec110a92ab' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointSites') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SharePointWebApplications/SharePointWebApplications.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SharePointWebApplications.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1b2fea36-ecae-4e95-911c-f749c3ad8d40' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SharePointWebApplications') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SmbShares/SmbShares.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SmbShares.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'bef9ac33-d589-44ea-844e-11ff75ffe7df' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SmbShares') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SoftwarePackages/SoftwarePackages.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SoftwarePackages.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '0245e22a-4b66-44e6-ba2b-1aa8df37ef67' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SoftwarePackages') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SoftwarePackages/SoftwarePackages.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SoftwarePackages { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]]$Packages 5 | ) 6 | 7 | Import-DscResource -ModuleName PSDesiredStateConfiguration 8 | Import-DscResource -ModuleName xPSDesiredStateConfiguration 9 | 10 | foreach ($p in $Packages) 11 | { 12 | $p.Ensure = 'Present' 13 | if (-not $p.ProductId) 14 | { 15 | $p.ProductId = '' 16 | } 17 | 18 | $executionName = $p.Name -replace '\(|\)|\.| ', '' 19 | (Get-DscSplattedResource -ResourceName xPackage -ExecutionName $executionName -Properties $p -NoInvoke).Invoke($p) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAGDatabases/SqlAGDatabases.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAGDatabases.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '86603b93-f914-49c3-b3b0-e15c5ce9a840' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAGDatabases') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAGListeners/SqlAGListeners.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAGListeners.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '95dfb107-6029-4581-a22a-65d2ac65a48d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAGListeners') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAGReplicas/SqlAGReplicas.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAGReplicas.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '62f6dc60-f092-4b29-9a2f-118b5a28e9cf' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAGReplicas') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAGs/SqlAGs.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAGs.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1b100ec3-71bf-40f5-8b19-1a738a8f964e' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAGs') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAgentAlerts/SqlAgentAlerts.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAgentAlerts.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '2782554f-c1a5-40d9-9bbf-78eda74536df' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAgentAlerts') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAgentOperators/SqlAgentOperators.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAgentOperators.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '34f71521-fb94-404f-b82c-69455a4e942f' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAgentOperators') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAgentOperators/SqlAgentOperators.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SqlAgentOperators { 2 | param ( 3 | [Parameter()] 4 | [string] 5 | $DefaultInstanceName = 'MSSQLSERVER', 6 | 7 | [Parameter(Mandatory = $true)] 8 | [hashtable[]] 9 | $AgentOperators 10 | ) 11 | 12 | <# 13 | DefaultInstanceName: MSSQLSERVER [string] 14 | AgentOperators: 15 | - Name: 'DbaTeam' [string] Mandatory 16 | ServerName: 'TestServer' [string] 17 | InstanceName: 'MSSQLServer' [string] 18 | EmailAddress: 'dbateam@company.com' [string] 19 | #> 20 | 21 | Import-DscResource -ModuleName SqlServerDsc -Name SqlAgentOperator 22 | 23 | foreach ($operator in $AgentOperators) 24 | { 25 | if (-not $operator.InstanceName) 26 | { 27 | $operator.InstanceName = $DefaultInstanceName 28 | } 29 | 30 | $executionName = "SqlAgentOperators_$($operator.ServerName)_$($operator.InstanceName)_$($operator.Name -replace ' ','')" 31 | (Get-DscSplattedResource -ResourceName SqlAgentOperator -ExecutionName $executionName -Properties $operator -NoInvoke).Invoke($operator) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAliases/SqlAliases.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAliases.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '43c8f799-e0e2-4784-9caa-2b3516d24149' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAliases') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAliases/SqlAliases.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SqlAliases { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Values 6 | ) 7 | 8 | <# 9 | Name = [string] 10 | [DependsOn = [string[]]] 11 | [Ensure = [string]{ Absent | Present }] 12 | [Protocol = [string]{ NP | TCP }] 13 | [PsDscRunAsCredential = [PSCredential]] 14 | [ServerName = [string]] 15 | [TcpPort = [UInt16]] 16 | [UseDynamicTcpPort = [bool]] 17 | #> 18 | 19 | Import-DscResource -ModuleName SqlServerDsc -Name SqlAlias 20 | 21 | foreach ($value in $Values) 22 | { 23 | if (-not $value.ContainsKey('Ensure')) 24 | { 25 | $value.Ensure = 'Present' 26 | } 27 | 28 | $executionName = $value.Name 29 | (Get-DscSplattedResource -ResourceName SqlAlias -ExecutionName $executionName -Properties $value -NoInvoke).Invoke($value) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAlwaysOnServices/SqlAlwaysOnServices.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlAlwaysOnServices.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'ed28715f-a184-472a-a55b-cff9cf89f370' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlAlwaysOnServices') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlAlwaysOnServices/SqlAlwaysOnServices.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration SqlAlwaysOnServices { 2 | param ( 3 | [Parameter()] 4 | [string] 5 | $SqlInstanceName = 'MSSQLSERVER', 6 | 7 | [Parameter()] 8 | [int] 9 | $RestartTimeout, 10 | 11 | [Parameter()] 12 | [string] 13 | $ServerName, 14 | 15 | [Parameter()] 16 | [string] 17 | $Ensure 18 | ) 19 | 20 | Import-DscResource -ModuleName SqlServerDsc -Name SqlAlwaysOnService 21 | 22 | if (-not $PSBoundParameters.ContainsKey('Ensure')) 23 | { 24 | $PSBoundParameters.Add('Ensure', 'Present') 25 | } 26 | 27 | $PSBoundParameters.Remove('DependsOn') 28 | $PSBoundParameters.InstanceName = $SqlInstanceName 29 | $PSBoundParameters.Remove('SqlInstanceName') 30 | 31 | $executionName = "$($ServerName)_$($InstanceName)" 32 | (Get-DscSplattedResource -ResourceName SqlAlwaysOnService -ExecutionName $executionName -Properties $PSBoundParameters -NoInvoke).Invoke($PSBoundParameters) 33 | 34 | } 35 | -------------------------------------------------------------------------------- /source/DSCResources/SqlConfigurations/SqlConfigurations.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlConfigurations.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '13cdc18e-705a-4f94-8c67-fa5d1cd75062' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlConfigurations') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlDatabaseMailSetups/SqlDatabaseMailSetups.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlDatabaseMailSetups.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '3e868c12-edb1-42cd-97e6-a92533c86de2' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlDatabaseMailSetups') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlDatabases/SqlDatabases.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlDatabases.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'dea5fdf6-66f1-4ca7-af63-1902b9da488e' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlDatabases') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlEndpoints/SqlEndpoints.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlEndpoints.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '47ba4507-7c0d-4f90-80a8-1fecc86b4ba6' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlEndpoints') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlLogins/SqlLogins.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlLogins.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1796e00d-100a-43eb-a73f-5151b1e94607' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlLogins') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlPermissions/SqlPermissions.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlPermissions.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '87d74bc6-0df4-451e-a8a9-efd569e5b5e3' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlPermissions') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlRoles/SqlRoles.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlRoles.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '431f878f-00bb-4598-af13-40630cb97d3e' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlRoles') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlScriptQueries/SqlScriptQueries.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlScriptQueries.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '902bd4ac-ef54-4df4-a270-19fc3f6bb9d3' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlScriptQueries') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SqlServer/SqlServer.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SqlServer.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '9e4ae4d5-9185-4129-92d3-a652c9904cdc' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SqlServer') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/SwitchLcmMode/SwitchLcmMode.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'SwitchLcmMode.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '18afeaa9-6363-4cb1-98d4-6d6dfd9514d1' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('SwitchLcmMode') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/UpdateServices/UpdateServices.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'UpdateServices.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'bd23569b-a909-498a-82c5-28d6a02681c1' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('UpdateServices') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/VSTSAgents/VSTSAgents.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'VSTSAgents.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '6c370e81-e545-48f7-bbd9-f29be221e218' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('VSTSAgents') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/VSTSAgents/VSTSAgents.schema.psm1: -------------------------------------------------------------------------------- 1 | Configuration VSTSAgents 2 | { 3 | param 4 | ( 5 | [Parameter(Mandatory = $true)] 6 | [hashtable[]] $Agents 7 | ) 8 | 9 | Import-DscResource -ModuleName VSTSAgent 10 | 11 | foreach ($agent in $Agents) 12 | { 13 | $agent = @{} + $agent 14 | 15 | if (-not $agent.ContainsKey("Ensure")) 16 | { 17 | $agent.Ensure = "Present" 18 | } 19 | 20 | $executionName = "xVSTSAgent_$($agent.Name)" -replace '[\s(){}/\\:-]', '_' 21 | (Get-DscSplattedResource -ResourceName xVSTSAgent -ExecutionName $executionName -Properties $agent -NoInvoke).Invoke($agent) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/DSCResources/VirtualMemoryFiles/VirtualMemoryFiles.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'VirtualMemoryFiles.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'decb37e2-f194-4502-bfee-aed06fafa34d' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('VirtualMemoryFiles') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/VirtualMemoryFiles/VirtualMemoryFiles.schema.psm1: -------------------------------------------------------------------------------- 1 | <# 2 | - Drive: [String] The drive letter for which paging settings should be set. Can be letter only, letter and colon or letter with colon and trailing slash. 3 | Type: [String] AutoManagePagingFile, CustomSize, SystemManagedSize, NoPagingFile 4 | InitialSize: [SInt64] The initial size of the page file in Megabyte 5 | MaximumSize: [SInt64] The maximum size of the page file in Megabyte 6 | #> 7 | 8 | configuration VirtualMemoryFiles 9 | { 10 | param ( 11 | [Parameter(Mandatory = $true)] 12 | [hashtable[]] 13 | $Files 14 | ) 15 | 16 | Import-DscResource -ModuleName ComputerManagementDsc 17 | 18 | foreach ($file in $Files) 19 | { 20 | $executionName = $file.Drive 21 | (Get-DscSplattedResource -ResourceName VirtualMemory -ExecutionName $executionName -Properties $file -NoInvoke).Invoke($file) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForAllNodes/WaitForAllNodes.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WaitForAllNodes.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'd46fd82a-72e8-4f6d-8468-1c274dc53990' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WaitForAllNodes') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForAllNodes/WaitForAllNodes.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WaitForAllNodes { 2 | param ( 3 | [Parameter()] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | <# 10 | NodeName = [string[]] 11 | ResourceName = [string] 12 | [DependsOn = [string[]]] 13 | [PsDscRunAsCredential = [PSCredential]] 14 | [RetryCount = [UInt32]] 15 | [RetryIntervalSec = [UInt64]] 16 | [ThrottleLimit = [UInt32]] 17 | #> 18 | 19 | foreach ($item in $items) 20 | { 21 | $executionName = $item.ResourceName 22 | 23 | (Get-DscSplattedResource -ResourceName WaitForAll -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForAnyNode/WaitForAnyNode.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WaitForAnyNode.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '185a18d3-934a-4c44-8b0e-3237d465d2dc' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WaitForAnyNode') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForAnyNode/WaitForAnyNode.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WaitForAnyNode { 2 | param ( 3 | [Parameter()] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | <# 10 | NodeName = [string[]] 11 | ResourceName = [string] 12 | [DependsOn = [string[]]] 13 | [PsDscRunAsCredential = [PSCredential]] 14 | [RetryCount = [UInt32]] 15 | [RetryIntervalSec = [UInt64]] 16 | [ThrottleLimit = [UInt32]] 17 | #> 18 | 19 | foreach ($item in $items) 20 | { 21 | $executionName = $item.ResourceName 22 | 23 | (Get-DscSplattedResource -ResourceName WaitForAny -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForSomeNodes/WaitForSomeNodes.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WaitForSomeNodes.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '2076563f-ef34-4e80-a11e-19be366a4fd8' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WaitForSomeNodes') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WaitForSomeNodes/WaitForSomeNodes.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WaitForSomeNodes { 2 | param ( 3 | [Parameter()] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | <# 10 | NodeCount = [UInt32] 11 | NodeName = [string[]] 12 | ResourceName = [string] 13 | [DependsOn = [string[]]] 14 | [PsDscRunAsCredential = [PSCredential]] 15 | [RetryCount = [UInt32]] 16 | [RetryIntervalSec = [UInt64]] 17 | [ThrottleLimit = [UInt32]] 18 | #> 19 | 20 | foreach ($item in $items) 21 | { 22 | $executionName = $item.ResourceName 23 | 24 | (Get-DscSplattedResource -ResourceName WaitForSome -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /source/DSCResources/Wds/Wds.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'Wds.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '89446cc0-1121-41c9-809e-de0fe6a13fec' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | RequiredModules = @() 9 | DscResourcesToExport = @('Wds') 10 | } 11 | -------------------------------------------------------------------------------- /source/DSCResources/WebApplicationPools/WebApplicationPools.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebApplicationPools.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '7add3852-42b4-4e43-a7b2-4c460608b2c1' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebApplicationPools') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebApplicationPools/WebApplicationPools.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WebApplicationPools { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName WebAdministrationDsc 10 | 11 | foreach ($item in $Items) 12 | { 13 | if (-not $item.ContainsKey('Ensure')) 14 | { 15 | $item.Ensure = 'Present' 16 | } 17 | 18 | $executionName = $item.Name 19 | (Get-DscSplattedResource -ResourceName WebAppPool -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/DSCResources/WebApplications/WebApplications.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebApplications.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '870e34ff-7351-4348-bc79-716466619e07' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebApplications') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebApplications/WebApplications.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WebApplications { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName WebAdministrationDsc 10 | 11 | $dscResourceName = 'WebApplication' 12 | 13 | foreach ($item in $Items) 14 | { 15 | # Remove Case Sensitivity of ordered Dictionary or Hashtables 16 | $item = @{} + $item 17 | 18 | if (-not $item.ContainsKey('Ensure')) 19 | { 20 | $item.Ensure = 'Present' 21 | } 22 | 23 | $executionName = "webapp_$($item.Name -replace '[{}#\-\s]','_')" 24 | 25 | if ($item.AuthenticationInfo) 26 | { 27 | $item.AuthenticationInfo = (Get-DscSplattedResource -ResourceName DSC_WebApplicationAuthenticationInformation -Properties $item.AuthenticationInfo -NoInvoke).Invoke($item.AuthenticationInfo) 28 | } 29 | 30 | (Get-DscSplattedResource -ResourceName $dscResourceName -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/DSCResources/WebBrowser/WebBrowser.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebBrowser.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '51755efd-f51b-4005-97af-b8e6c88a5d23' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebBrowser') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebConfigProperties/WebConfigProperties.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebConfigProperties.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '19661b84-a84b-4275-8065-2c41de1bf8a9' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebConfigProperties') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebConfigProperties/WebConfigProperties.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WebConfigProperties { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | <# 9 | Filter = [string] 10 | PropertyName = [string] 11 | WebsitePath = [string] 12 | [DependsOn = [string[]]] 13 | [Ensure = [string]{ Absent | Present }] 14 | [PsDscRunAsCredential = [PSCredential]] 15 | [Value = [string]] 16 | #> 17 | 18 | Import-DscResource -ModuleName PSDesiredStateConfiguration 19 | Import-DscResource -ModuleName WebAdministrationDsc 20 | 21 | foreach ($item in $Items) 22 | { 23 | if (-not $item.ContainsKey('Ensure')) 24 | { 25 | $item.Ensure = 'Present' 26 | } 27 | 28 | $executionName = "$($item.WebsitePath)_$($item.Filter)_$($item.PropertyName)" -replace '[\s(){}/\\:-]', '_' 29 | (Get-DscSplattedResource -ResourceName WebConfigProperty -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DSCResources/WebConfigPropertyCollections/WebConfigPropertyCollections.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebConfigPropertyCollections.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '315986ab-9f7d-4d70-baf8-a7b8dd06b5f5' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebConfigPropertyCollections') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebSites/Websites.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebSites.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '1a2db293-0d41-4062-9668-00e6e71d6436' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebSites') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebVirtualDirectories/WebVirtualDirectories.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WebVirtualDirectories.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'c6bf239b-fe92-41d8-b045-2ec3b28b2216' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WebVirtualDirectories') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WebVirtualDirectories/WebVirtualDirectories.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WebVirtualDirectories { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Items 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName WebAdministrationDsc 10 | 11 | foreach ($item in $Items) 12 | { 13 | if (-not $item.ContainsKey('Ensure')) 14 | { 15 | $item.Ensure = 'Present' 16 | } 17 | 18 | $executionName = $item.Name 19 | (Get-DscSplattedResource -ResourceName WebVirtualDirectory -ExecutionName $executionName -Properties $item -NoInvoke).Invoke($item) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsEventForwarding/WindowsEventForwarding.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WindowsEventForwarding.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = 'a16b13c3-216a-4a58-9499-0d9400596236' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('WindowsEventForwarding') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsEventLogs/WindowsEventLogs.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WindowsEventLogs.schema.psm1' 3 | ModuleVersion = '0.0.1' 4 | GUID = '3ef0e3c4-2399-48a9-a0bf-cc63bae7a9ef' 5 | Author = 'NA' 6 | CompanyName = 'NA' 7 | Copyright = 'NA' 8 | DscResourcesToExport = @('WindowsEventLogs') 9 | } 10 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsEventLogs/WindowsEventLogs.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration WindowsEventLogs { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $Logs 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName ComputerManagementDsc 10 | 11 | foreach ($log in $Logs) 12 | { 13 | # convert string with KB/MB/GB to Sint64 14 | if ($null -ne $log.MaximumSizeInBytes) 15 | { 16 | $log.MaximumSizeInBytes = [System.Int64] ($log.MaximumSizeInBytes / 1) 17 | } 18 | 19 | $executionName = "$($log.LogName)" -replace ' ', '' 20 | (Get-DscSplattedResource -ResourceName WindowsEventLog -ExecutionName $executionName -Properties $log -NoInvoke).Invoke($log) 21 | 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsFeatures/WindowsFeatures.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WindowsFeatures.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'cb8a795a-b1c1-468d-a841-a24c50c0611b' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WindowsFeatures') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsOptionalFeatures/WindowsOptionalFeatures.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WindowsOptionalFeatures.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = 'a5a89c1d-c2b9-4e92-be10-31fad332fe0a' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WindowsOptionalFeatures') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/WindowsServices/WindowsServices.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'WindowsServices.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '06f7eb99-05a9-4476-8530-e4d28030fe70' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('WindowsServices') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/XmlContent/XmlContent.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'XmlContent.schema.psm1' 3 | 4 | ModuleVersion = '0.0.1' 5 | 6 | GUID = '4fb8536e-76e4-49db-ab7d-ba64d4b24069' 7 | 8 | Author = 'NA' 9 | 10 | CompanyName = 'NA' 11 | 12 | Copyright = 'NA' 13 | 14 | DscResourcesToExport = @('XmlContent') 15 | } 16 | -------------------------------------------------------------------------------- /source/DSCResources/XmlContent/XmlContent.schema.psm1: -------------------------------------------------------------------------------- 1 | configuration XmlContent { 2 | param ( 3 | [Parameter(Mandatory = $true)] 4 | [hashtable[]] 5 | $XmlData 6 | ) 7 | 8 | Import-DscResource -ModuleName PSDesiredStateConfiguration 9 | Import-DscResource -ModuleName XmlContentDsc 10 | 11 | foreach ($xmlRecord in $XmlData) 12 | { 13 | if ($xmlRecord.Attributes -is [System.Collections.Specialized.OrderedDictionary]) 14 | { 15 | $xmlRecord.Attributes = [hashtable]$xmlRecord.Attributes 16 | } 17 | (Get-DscSplattedResource -ResourceName XmlFileContentResource -ExecutionName ($xmlRecord.Path + '_' + $xmlRecord.XPath) -Properties $xmlRecord -NoInvoke).Invoke($xmlRecord) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/en-US/about_CommonTasks2.help.txt: -------------------------------------------------------------------------------- 1 | TOPIC 2 | about_CommonTasks 3 | 4 | SHORT DESCRIPTION 5 | desc 6 | 7 | LONG DESCRIPTION 8 | {{ Add Long description here }} 9 | 10 | EXAMPLES 11 | PS C:\> {{ add examples here }} 12 | 13 | NOTE: 14 | Thank you to all those who contributed to this module, by writing code, sharing opinions, and provided feedback. 15 | 16 | TROUBLESHOOTING NOTE: 17 | Look out on the Github repository for issues and new releases. 18 | 19 | SEE ALSO 20 | - {{ Please add Project URI such as github }}} 21 | 22 | KEYWORDS 23 | {{ Add coma separated keywords here }} 24 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/AllNodes.yml: -------------------------------------------------------------------------------- 1 | - NodeName: '*' 2 | PSDscAllowPlainTextPassword: true 3 | PSDscAllowDomainUser: true 4 | Environment: Dev 5 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsOrgUnitsAndGroups.yml: -------------------------------------------------------------------------------- 1 | DomainDN: DC=contoso,DC=com 2 | OrgUnits: 3 | - Name: Admin 4 | Path: DC=contoso,DC=com 5 | ChildOu: 6 | - Name: Groups 7 | - Name: Computers 8 | - Name: Autofill 9 | ChildOu: 10 | - Name: Groups 11 | - Name: Computers 12 | Groups: 13 | - GroupName: Administrators 14 | Description: BuiltIn Account 15 | - GroupName: App_123_Read 16 | Path: OU=Groups,OU=Admin 17 | GroupScope: DomainLocal 18 | - GroupName: App_123_Write 19 | Path: OU=Groups,OU=Admin 20 | GroupScope: Global 21 | - GroupName: Group with spaces 22 | Path: OU=Groups,OU=Admin 23 | GroupScope: Global 24 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsProtectFromAccidentalDeletion.yml: -------------------------------------------------------------------------------- 1 | ProtectDomain: true 2 | ProtectOrgUnit: true 3 | ProtectUser: true 4 | ProtectGroup: true 5 | ProtectComputer: true 6 | ProtectFineGrainedPasswordPolicy: true 7 | ProtectReplicationSite: true -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsServicePrincipalNames.yml: -------------------------------------------------------------------------------- 1 | ServicePrincipalNames: 2 | - Account: nyanhp 3 | ServicePrincipalName: HOST/JHP 4 | - Account: nyanhp 5 | ServicePrincipalName: WINRM/JHP 6 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsSiteLinks.yml: -------------------------------------------------------------------------------- 1 | SiteLinks: 2 | - Name: Link1 3 | SitesIncluded: 4 | - Site1 5 | - Site2 6 | Cost: 100 7 | ReplicationFrequencyInMinutes: 15 8 | OptionChangeNotification: true 9 | - Name: DEFAULTIPSITELINK 10 | Ensure: Absent 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsSitesSubnets.yml: -------------------------------------------------------------------------------- 1 | Sites: 2 | - Name: Sparta 3 | RenameDefaultFirstSiteName: true 4 | - Name: Athens 5 | Subnets: 6 | - Name: 10.0.1.0/24 7 | Site: Sparta 8 | Location: Sparta 9 | - Name: 10.0.2.0/24 10 | Site: Athens 11 | Location: Sparta 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AddsWaitForDomains.yml: -------------------------------------------------------------------------------- 1 | Domains: 2 | - DomainName: contoso.com 3 | SiteName: Default-First-Site-Name 4 | WaitTimeout: 300 5 | RestartCount: 0 6 | - DomainName: tailspintoys.com 7 | SiteName: Default-First-Site-Name 8 | WaitTimeout: 300 9 | RestartCount: 0 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/AuditPolicies.yml: -------------------------------------------------------------------------------- 1 | # see https://github.com/dsccommunity/AuditPolicyDsc 2 | Options: 3 | - Name: AuditBaseObjects 4 | Value: Enabled 5 | - Name: AuditBaseDirectories 6 | Value: Enabled 7 | 8 | Subcategories: 9 | - Name: Logon 10 | AuditFlag: Success 11 | Ensure: Absent 12 | - Name: Logon 13 | AuditFlag: Failure 14 | Ensure: Present 15 | - Name: Credential Validation 16 | AuditFlag: Success 17 | Ensure: Present 18 | - Name: Credential Validation 19 | AuditFlag: Failure 20 | Ensure: Present 21 | - Name: 'Application Group Management' 22 | AuditFlag: Success 23 | Ensure: Present 24 | - Name: 'Application Group Management:' 25 | AuditFlag: Failure 26 | Ensure: Present 27 | 28 | Guids: 29 | - Name: Logon 30 | AuditFlag: Success 31 | Ensure: Absent 32 | - Name: Logon 33 | AuditFlag: Failure 34 | Ensure: Present 35 | 36 | CsvPath: C:\Temp\AuditPolBackup.csv # Path to the CSV file to apply to the node 37 | 38 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/Bitlocker.yml: -------------------------------------------------------------------------------- 1 | Tpm: 2 | AllowClear: False 3 | AllowPhysicalPresence: True 4 | AllowImmediateReboot: True 5 | Disks: 6 | # System Drive at first 7 | - MountPoint: 'C:' 8 | PrimaryProtector: TpmProtector 9 | TpmProtector: True 10 | AllowImmediateReboot: True 11 | UsedSpaceOnly: True 12 | - MountPoint: 'D:' 13 | PrimaryProtector: RecoveryPasswordProtector 14 | StartupKeyProtector: True 15 | StartupKeyPath: 'A:' 16 | RecoveryPasswordProtector: True 17 | AllowImmediateReboot: True 18 | UsedSpaceOnly: True 19 | AutoDisks: 20 | - DriveType: Fixed 21 | PrimaryProtector: TpmProtector 22 | TpmProtector: True 23 | UsedSpaceOnly: True 24 | - DriveType: Removable 25 | MinDiskCapacityGB: 16 26 | PrimaryProtector: RecoveryPasswordProtector 27 | StartupKeyProtector: True 28 | StartupKeyPath: 'A:' 29 | RecoveryPasswordProtector: True 30 | UsedSpaceOnly: True -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/CertificateRequests.yml: -------------------------------------------------------------------------------- 1 | Requests: 2 | - CARootName: "test-dc01-ca" 3 | CAServerFqdn: "dc01.test.pha" 4 | Subject: "foodomain.test.net" 5 | KeyLength: "2048" 6 | Exportable: true 7 | ProviderName: "Microsoft RSA SChannel Cryptographic Provider" 8 | OID: "1.3.6.1.5.5.7.3.1" 9 | KeyUsage: "0xa0" 10 | CertificateTemplate: "WebServer" 11 | AutoRenew: true 12 | FriendlyName: "SSL Cert for Web Server" 13 | KeyType: "RSA" 14 | RequestType: "CMC" 15 | - CARootName: "test-dc02-ca" 16 | CAServerFqdn: "dc02.test.pha" 17 | Subject: "some.web.server" 18 | KeyLength: "2048" 19 | CertificateTemplate: "WebServer" 20 | AutoRenew: true 21 | FriendlyName: "SSL Cert for Web Server" 22 | KeyType: "RSA" 23 | RequestType: "PKCS10" 24 | SubjectAltName: "FRONTEND" 25 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ComputerSettings.yml: -------------------------------------------------------------------------------- 1 | TimeZone: Fiji Standard Time 2 | Name: TestServer 3 | Description: This is a test server 4 | AllowRemoteDesktop: true 5 | RemoteDesktopUserAuthentication: Secure 6 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ConfigurationBase.yml: -------------------------------------------------------------------------------- 1 | SystemType: Baseline 2 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ConfigurationManagerDistributionGroups.yml: -------------------------------------------------------------------------------- 1 | SiteCode: AL1 2 | DistributionGroups: 3 | - DistributionGroup: DG1 4 | #Collections: # 1:1 match, supported in future release of ConfigMgrCBDsc 5 | # - Collection 1 6 | # - Collection 2 7 | DistributionPointsToExclude: 8 | - DP2 9 | DistributionPointsToInclude: 10 | - DP1 11 | SecurityScopesToExclude: 12 | - Scope1 13 | SecurityScopesToInclude: 14 | - Scope2 15 | - DistributionGroup: DG2 16 | #CollectionsToExclude: # supported in future release of ConfigMgrCBDsc 17 | # - Collection 1 18 | #CollectionsToInclude: # supported in future release of ConfigMgrCBDsc 19 | # - Collection 2 20 | DistributionPoints: # 1:1 match 21 | - DP1 22 | - DP2 23 | SecurityScopes: # 1:1 match 24 | - Scope1 25 | - Scope2 26 | - DistributionGroup: DG3 27 | SiteCode: AL2 # Override SiteCode for individual groups 28 | DistributionPointsToExclude: 29 | - DP2 30 | DistributionPointsToInclude: 31 | - DP1 32 | SecurityScopesToExclude: 33 | - Scope1 34 | SecurityScopesToInclude: 35 | - Scope2 36 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DfsNamespaces.yml: -------------------------------------------------------------------------------- 1 | DomainFqdn: contoso.com 2 | NamespaceConfig: 3 | - Sharename: AdminShare 4 | Targets: 5 | - DscFile01 6 | - DscFile02 7 | - Sharename: Software 8 | Targets: 9 | - DscFile01 10 | - DscFile02 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DfsReplicationGroupConnections.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - GroupName: Public 3 | DomainName: contoso.com 4 | SourceComputerName: server1.contoso.com 5 | DestinationComputerName: server2.contoso.com 6 | - GroupName: Public 7 | DomainName: contoso.com 8 | SourceComputerName: server1.contoso.com 9 | DestinationComputerName: server3.contoso.com 10 | - GroupName: Public 11 | DomainName: contoso.com 12 | SourceComputerName: server1.contoso.com 13 | DestinationComputerName: server4.contoso.com 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DfsReplicationGroupMembers.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - GroupName: Public 3 | DomainName: contoso.com 4 | ComputerName: server1.contoso.com 5 | - GroupName: Public 6 | DomainName: contoso.com 7 | ComputerName: server2.contoso.com 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DfsReplicationGroupMemberships.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - GroupName: Public 3 | FolderName: Test1 4 | ContentPath: C:\Data\Test1 5 | DomainName: contoso.com 6 | ComputerName: server1.contoso.com 7 | - GroupName: Public 8 | FolderName: Test1 9 | ContentPath: C:\Data\Test1 10 | DomainName: contoso.com 11 | ComputerName: server2.contoso.com 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DhcpScopeOptions.yml: -------------------------------------------------------------------------------- 1 | ScopeOptions: 2 | - ScopeId: 192.169.1.0 3 | OptionId: 6 4 | AddressFamily: IPv4 5 | UserClass: '' 6 | VendorClass: '' 7 | Value: 8 | - 192.168.10.10 9 | - 192.168.10.11 10 | - ScopeId: 192.169.1.0 11 | OptionId: 60 12 | Value: Support 13 | AddressFamily: IPv4 14 | VendorClass: '' 15 | UserClass: '' 16 | - ScopeId: 192.169.1.0 17 | OptionId: 66 18 | Value: 192.168.50.222 19 | AddressFamily: IPv4 20 | VendorClass: '' 21 | UserClass: '' 22 | - ScopeId: 192.169.1.0 23 | OptionId: 67 24 | Value: DCMgr\Boot\Windows\wdsnbp.com 25 | AddressFamily: IPv4 26 | VendorClass: '' 27 | UserClass: '' 28 | - ScopeId: 192.169.1.0 29 | OptionId: 3 30 | Value: 192.169.1.254 31 | AddressFamily: IPv4 32 | VendorClass: '' 33 | UserClass: '' 34 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DhcpServerAuthorization.yml: -------------------------------------------------------------------------------- 1 | # DnsName: dhcp.contoso.com 2 | # IPAddress: 192.168.1.12 3 | Ensure: Present 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DhcpServerOptionDefinitions.yml: -------------------------------------------------------------------------------- 1 | ServerOptionDefinitions: 2 | AddressFamily: IPv4 3 | Name: PXEClientType 4 | OptionId: 60 5 | Type: string 6 | VendorClass: '' 7 | Description: PXE Support 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DhcpServerOptions.yml: -------------------------------------------------------------------------------- 1 | ServerOptions: 2 | - OptionId: 15 3 | AddressFamily: IPv4 4 | UserClass: '' 5 | VendorClass: '' 6 | Value: contoso.com 7 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DiskAccessPaths.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - AccessPath: E:\SysDB 3 | DiskIdType: Number 4 | DiskId: 2 5 | FSLabel: SysDB 6 | NoDefaultDriveLetter: true 7 | - AccessPath: E:\Data 8 | DiskIdType: Number 9 | DiskId: 3 10 | FSLabel: Data 11 | NoDefaultDriveLetter: true 12 | - AccessPath: E:\Logs 13 | DiskIdType: Number 14 | DiskId: 4 15 | FSLabel: Logs 16 | NoDefaultDriveLetter: true 17 | - AccessPath: E:\TempDB 18 | DiskIdType: Number 19 | DiskId: 5 20 | FSLabel: TempDB 21 | NoDefaultDriveLetter: true 22 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/Disks.yml: -------------------------------------------------------------------------------- 1 | Disks: 2 | - DiskId: 0 3 | DiskIdType: Number 4 | DriveLetter: C 5 | PartitionStyle: MBR 6 | FSLabel: System 7 | Size: 1000000 8 | AllocationUnitSize: 4096 9 | FSFormat: NTFS 10 | AllowDestructive: true 11 | ClearDisk: true 12 | - DiskId: 1 13 | DiskIdType: Number 14 | DriveLetter: D 15 | FSLabel: Data 16 | Size: 1GB 17 | AllocationUnitSize: 2KB 18 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerARecords.yml: -------------------------------------------------------------------------------- 1 | Records: 2 | - Name: Server1 3 | ZoneName: contoso.com 4 | IPv4Address: 192.168.1.10 5 | DnsServer: 192.168.1.2 6 | Ensure: Present 7 | 8 | - Name: Server2 9 | ZoneName: PrimaryZone2 10 | IPv4Address: 192.168.1.20 11 | DnsServer: localhost 12 | Ensure: Present 13 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerAdZones.yml: -------------------------------------------------------------------------------- 1 | AdZones: 2 | - Name: cms.contoso.com 3 | DynamicUpdate: Secure 4 | ReplicationScope: Forest 5 | - Name: 30.168.192.in-addr.arpa 6 | DynamicUpdate: Secure 7 | ReplicationScope: Forest 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerCNameRecords.yml: -------------------------------------------------------------------------------- 1 | Records: 2 | - HostNameAlias: Server1 3 | Name: Alias1 4 | ZoneName: contoso.com 5 | Ensure: Present 6 | 7 | - HostNameAlias: Server2 8 | Name: Alias2 9 | ZoneName: contoso.com 10 | Ensure: Present 11 | 12 | - HostNameAlias: Server3 13 | Name: Alias3 14 | ZoneName: contoso.com 15 | DnsServer: localhost 16 | Ensure: Present 17 | 18 | - HostNameAlias: Server4 19 | Name: Alias4 20 | ZoneName: contoso.com 21 | DnsServer: dnsserver1.contoso.com 22 | Ensure: Present 23 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerConditionalForwarders.yml: -------------------------------------------------------------------------------- 1 | ConditionalForwarders: 2 | - Name: SharedServices 3 | MasterServers: 4 | - 10.0.1.10 5 | - 10.0.2.10 6 | ReplicationScope: Forest 7 | - Name: Oxy 8 | MasterServers: 9 | - 10.0.3.10 10 | ReplicationScope: Forest 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerForwarders.yml: -------------------------------------------------------------------------------- 1 | IPAddresses: 2 | - 192.168.0.20 3 | - 192.168.0.21 4 | UseRootHint: True 5 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerLegacySettings.yml: -------------------------------------------------------------------------------- 1 | DnsServer: localhost 2 | DisjointNets: true 3 | NoForwarderRecursion: false 4 | LogLevel: 50393905 5 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerMxRecords.yml: -------------------------------------------------------------------------------- 1 | Records: 2 | - EmailDomain: contoso.com 3 | ZoneName: contoso.com 4 | MailExchange: mailserver1.contoso.com 5 | Priority: 10 6 | Ensure: Present 7 | 8 | - EmailDomain: contoso.com 9 | ZoneName: contoso.com 10 | MailExchange: mailserver2.contoso.com 11 | Priority: 20 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerPrimaryZones.yml: -------------------------------------------------------------------------------- 1 | PrimaryZones: 2 | - Name: PrimaryZone1 3 | ZoneFile: MyZone.dns 4 | DynamicUpdate: NonSecureAndSecure 5 | Ensure: Present 6 | 7 | - Name: PrimaryZone2 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerQueryResolutionPolicies.yml: -------------------------------------------------------------------------------- 1 | Policies: 2 | - Name: WhitelistPolicy 3 | Action: IGNORE 4 | Fqdn: NE,*.contoso.com 5 | - Name: Block_Telemetry 6 | Action: IGNORE 7 | Fqdn: EQ,telemetry.google.com 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerResponseRateLimiting.yml: -------------------------------------------------------------------------------- 1 | Mode: Enable 2 | ErrorsPerSec: 10 3 | ResponsesPerSec: 10 4 | Exceptions: 5 | - Name: ExceptionListSafe 6 | Fqdn: EQ,*.contoso.com -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerRootHints.yml: -------------------------------------------------------------------------------- 1 | RootHints: 2 | A.ROOT-SERVERS.NET.: 2001:503:ba3e::2:30 3 | B.ROOT-SERVERS.NET.: 2001:500:84::b 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsServerZonesAging.yml: -------------------------------------------------------------------------------- 1 | Zones: 2 | - Name: north.contoso.com 3 | Enabled: True 4 | RefreshInterval: 120 # 5 days 5 | NoRefreshInterval: 240 # 10 days 6 | 7 | - Name: south.contoso.com 8 | Enabled: True 9 | 10 | - Name: east.contoso.com 11 | Enabled: False -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DnsSuffixes.yml: -------------------------------------------------------------------------------- 1 | Suffixes: 2 | - InterfaceAlias: en0 3 | ConnectionSpecificSuffix: contoso.com 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DscLcmController.yml: -------------------------------------------------------------------------------- 1 | MaintenanceWindowMode: AutoCorrect 2 | MonitorInterval: 02:00:00 3 | AutoCorrectInterval: 00:15:00 4 | AutoCorrectIntervalOverride: false 5 | RefreshInterval: 04:00:00 6 | RefreshIntervalOverride: false 7 | ControllerInterval: 00:15:00 8 | MaintenanceWindowOverride: false 9 | MaxLcmRuntime: 02:00:00 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DscLcmMaintenanceWindows.yml: -------------------------------------------------------------------------------- 1 | MaintenanceWindows: 2 | - Name: MW-1 3 | Mode: Daily 4 | StartTime: 00:30:00 5 | Timespan: 02:00:00 6 | - Name: MW-2 7 | Mode: Daily 8 | StartTime: 04:00:00 9 | Timespan: 01:00:00 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DscPullServerSql.yml: -------------------------------------------------------------------------------- 1 | CertificateThumbPrint: AllowUnencryptedTraffic 2 | Port: 8080 3 | RegistrationKey: SomePass1 4 | SqlServer: SQL01 5 | DatabaseName: DSC 6 | EndpointName: PSDSCPullServer 7 | PhysicalPath: C:\inetpub\PSDSCPullServer 8 | ModulePath: C:\Program Files\WindowsPowerShell\DscService\Modules 9 | ConfigurationPath: C:\Program Files\WindowsPowerShell\DscService\Configuration 10 | UseSecurityBestPractices: false 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/DscTagging.yml: -------------------------------------------------------------------------------- 1 | Version: 1.0.0 2 | Environment: Dev 3 | BuildNumber: 100 4 | NodeVersion: 5 | NodeRole: FileServer 6 | DisableGitCommitId: false 7 | Layers: 8 | - Layer1 9 | - Layer2 10 | - Layer3 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/EnvironmentVariables.yml: -------------------------------------------------------------------------------- 1 | Variables: 2 | - Name: var1 3 | Target: Machine 4 | Value: 123 5 | - Name: var2 6 | Target: Machine 7 | Value: 456 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ExchangeAutoMountPoints.yml: -------------------------------------------------------------------------------- 1 | Identity: \ExchangeServer01 2 | AutoDagDatabasesRootFolderPath: C:\ExchangeDatabases 3 | AutoDagVolumesRootFolderPath: C:\ExchangeVolumes 4 | DiskToDBMap: 5 | - DAG01-DB1 6 | - DAG01-DB2 7 | SpareVolumeCount: 1 8 | VolumePrefix: EXVOL 9 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/FirewallProfiles.yml: -------------------------------------------------------------------------------- 1 | Profile: 2 | Name: Private 3 | Enabled: True 4 | DefaultInboundAction: Block 5 | DefaultOutboundAction: Allow 6 | AllowInboundRules: True 7 | AllowLocalFirewallRules: False 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/FirewallRules.yml: -------------------------------------------------------------------------------- 1 | Rules: 2 | - Name: Any-AnyTest 3 | DisplayName: Any-Any Test 4 | Enabled: True 5 | Description: Allow All Inbound Trafic 6 | Direction: Inbound 7 | Profile: Any 8 | Action: Allow 9 | LocalPort: Any 10 | RemotePort: Any 11 | Protocol: Any 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/HostsFileEntries.yml: -------------------------------------------------------------------------------- 1 | Entries: 2 | - HostName: server01 3 | IPAddress: 192.168.0.1 4 | - HostName: server02 5 | IPAddress: 192.168.0.2 6 | Ensure: Present 7 | - HostName: server03 8 | Ensure: Absent -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/HyperVReplica.yml: -------------------------------------------------------------------------------- 1 | AllowedAuthenticationType: Certificate 2 | CertificateAuthenticationPort: 8000 3 | CertificateThumbprint: c81b94933420221a7ac004a90242d8b1d3e5070d 4 | DefaultStorageLocation: D:\VServer 5 | KerberosAuthenticationPort: 8080 6 | MonitoringInterval: '1.00:00:00' # for 1 day 7 | MonitoringStartTime: '00:00:00' # start at 00:00 8 | ReplicationAllowedFromAnyServer: True 9 | VMMachines: 10 | - Name: TESTS01 11 | ReplicaServerName: ReplicaHost2 12 | ReplicaServerPort: 443 13 | AuthenticationType: Certificate 14 | - Name: TESTS02 15 | ReplicaServerName: ReplicaHost3 16 | ReplicaServerPort: 443 17 | AuthenticationType: Kerberos 18 | CompressionEnabled: True 19 | ReplicateHostKvpItems: True 20 | BypassProxyServer: False 21 | VSSSnapshotFrequencyHour: 4 22 | RecoveryHistory: 4 23 | ReplicationFrequencySec: 180 24 | AutoResynchronizeEnabled: True 25 | AutoResynchronizeIntervalStart: '01:00:00' # Start at 01:00 am 26 | AutoResynchronizeIntervalEnd: '06:00:00' # Stop at 06:00 am 27 | EnableWriteOrderPreservationAcrossDisks: True 28 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/HyperVState.yml: -------------------------------------------------------------------------------- 1 | VMMachines: 2 | - Name: EUATESTS01 # Name of the virtual machine 3 | State: Running # Running | Paused | Off 4 | AutomaticStartAction: Start 5 | AutomaticStartDelay: 30 6 | AutomaticStopAction: Save 7 | 8 | - Name: EUATESTS02 # Name of the virtual machine 9 | State: Paused # Running | Paused | Off 10 | AutomaticStopAction: Save 11 | 12 | - Name: EUATESTA01 # Name of the virtual machine 13 | State: Off # Running | Paused | Off 14 | 15 | - Name: EUATESTA02 # Name of the virtual machine 16 | AutomaticStartAction: StartIfRunning 17 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/IpConfiguration.yml: -------------------------------------------------------------------------------- 1 | Adapter: 2 | - MacAddress: 00-17-FB-00-00-0A 3 | NewName: 1GB1_MGMT 4 | IPAddress: 10.0.0.33/23 5 | AddressFamily: IPv4 6 | GatewayAddress: 1.2.3.4 7 | DnsServerAddress: 8 | - 1.2.3.4 9 | - 2.3.4.5 10 | DisableIpv6: true 11 | - MacAddress: 00-17-FB-00-00-0B 12 | NewName: STORAGE 13 | IPAddress: 10.2.0.33/24 14 | AddressFamily: IPv4 15 | DisableIpv6: true 16 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/JeaEndpoints.yml: -------------------------------------------------------------------------------- 1 | EndPoints: 2 | - Name: Test1 3 | Ensure: Present 4 | RoleDefinitions: 5 | Everyone: 6 | RoleCapabilities: Test1 7 | SessionType: RestrictedRemoteServer 8 | #ModulesToImport: 9 | #- PSDesiredStateConfiguration 10 | #- xDscDiagnostics 11 | #- Name: Test2 12 | # Ensure: Present 13 | # RoleDefinitions: 14 | # Everyone: 15 | # RoleCapabilities: Test1 16 | # SessionType: RestrictedRemoteServer 17 | #ModulesToImport: 18 | #- PSDesiredStateConfiguration 19 | #- xDscDiagnostics 20 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/JeaRoles.yml: -------------------------------------------------------------------------------- 1 | Roles: 2 | 3 | - Path: C:\Program Files\WindowsPowerShell\Modules\Test\RoleCapabilities\Test1.psrc 4 | VisibleFunctions: 5 | - F1 6 | - F2 7 | - F3 8 | FunctionDefinitions: 9 | - Name: F1 10 | ScriptBlock: | 11 | Get-Date 12 | Write-Host Hello World 13 | - Name: F2 14 | ScriptBlock: | 15 | Get-Process | Where-Object { $_.WS -gt 100MB } 16 | Dir C:\ 17 | - Name: F3 18 | FilePath: C:\Temp\JeaRoleTest.ps1 19 | VisibleCmdlets: 20 | - Get-Date 21 | - Name: Get-Process 22 | Parameters: 23 | - Name: Name 24 | ValidatePattern: a* 25 | VisibleExternalCommands: 26 | - C:\Windows\System32\whoami.exe 27 | - C:\Windows\System32\ipconfig.exe 28 | 29 | - Path: C:\Program Files\WindowsPowerShell\Modules\Test\RoleCapabilities\Test2.psrc 30 | VisibleFunctions: 31 | - F3 32 | FunctionDefinitions: 33 | - Name: F3 34 | ScriptBlock: | 35 | Get-Date 36 | Write-Host Hello World 37 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/MountImages.yml: -------------------------------------------------------------------------------- 1 | Images: 2 | - ImagePath: C:\ISO\Test.iso 3 | DriveLetter: F 4 | StorageType: ISO 5 | Access: ReadOnly 6 | Ensure: Present 7 | - ImagePath: C:\ISO\Test.vhd 8 | DriveLetter: G 9 | StorageType: VHDx 10 | Access: ReadWrite 11 | - ImagePath: C:\ISO\Test2.iso 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/Network.yml: -------------------------------------------------------------------------------- 1 | NetworkZone: 1 2 | MtuSize: 1360 3 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/NetworkIpConfiguration.yml: -------------------------------------------------------------------------------- 1 | DisableNetBios: true 2 | ConfigureIPv6: 32 3 | Interfaces: 4 | - IpAddress: 10.0.0.1 5 | Prefix: 8 6 | Gateway: 10.0.0.254 7 | DnsServer: 8 | - 10.1.1.1 9 | - 10.1.1.2 10 | DisableNetbios: true 11 | DisableIPv6: true 12 | NetworkCategory: Private 13 | InterfaceMetric: 50 14 | - InterfaceAlias: Ethernet 2 15 | IpAddress: 10.0.0.2 16 | Prefix: 8 17 | Gateway: 10.0.0.254 18 | DnsServer: 19 | - 10.1.1.1 20 | - 10.1.1.2 21 | DisableNetbios: true 22 | - InterfaceAlias: Ethernet 3 23 | IpAddress: 11.0.0.3 24 | Prefix: 8 25 | NetworkCategory: Public 26 | - InterfaceAlias: Ethernet 4 27 | Gateway: 10.0.0.254 28 | DnsServer: 29 | - 10.1.1.1 30 | - 10.1.1.2 31 | - InterfaceAlias: Wi-Fi 32 | EnableDhcp: true 33 | DisableIPv6: true 34 | Routes: 35 | - InterfaceAlias: Ethernet 36 | DestinationPrefix: 192.168.0.0/16 37 | NextHop: 192.168.120.0 38 | RouteMetric: 200 39 | - DestinationPrefix: 192.162.0.0/16 40 | NextHop: 192.162.120.0 41 | RouteMetric: 200 42 | Publish: Age 43 | PreferredLifetime: 25 -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/OfficeOnlineServerFarmConfig.yml: -------------------------------------------------------------------------------- 1 | AllowHttp: true 2 | InternalUrl: http://contoso.com 3 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/OfficeOnlineServerMachineConfig.yml: -------------------------------------------------------------------------------- 1 | MachineToJoin: Master 2 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/OfficeOnlineServerSetup.yml: -------------------------------------------------------------------------------- 1 | Path: C:\OfficeOnline\Setup.exe 2 | LanguagePacks: 3 | - Language: de-de 4 | BinaryDir: C:\de-de 5 | - Language: en-us 6 | BinaryDir: C:\en-us 7 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/OpticalDiskDrives.yml: -------------------------------------------------------------------------------- 1 | Drives: 2 | - DiskId: 1 3 | DriveLetter: F 4 | Ensure: Present 5 | - DiskId: 2 6 | Ensure: Absent 7 | - DiskId: 3 8 | DriveLetter: G 9 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/PowerPlans.yml: -------------------------------------------------------------------------------- 1 | Hibernate: On 2 | Plans: 3 | - GUID: SCHEME_MAX 4 | Name: Power Saver 5 | Description: Power Saver 6 | - GUID: SCHEME_BALANCED 7 | Name: Balanced 8 | Active: True 9 | - GUID: SCHEME_MIN 10 | Name: High Performance 11 | Settings: 12 | - PlanGuid: ALL 13 | SettingGuid: STANDBYIDLE 14 | AcDc: AC 15 | Value: 0 16 | - PlanGuid: SCHEME_MIN 17 | SettingGuid: HIBERNATEIDLE 18 | AcDc: AC 19 | Value: 0 20 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/PowerShellRepositories.yml: -------------------------------------------------------------------------------- 1 | Repositories: 2 | - Name: RepoA 3 | SourceLocation: https://somegallery/v2 4 | PublishLocation: https://somegallery/v2 5 | - Name: RepoB 6 | InstallationPolicy: trusted 7 | SourceLocation: https://somegallery/v2 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/PowershellExecutionPolicies.yml: -------------------------------------------------------------------------------- 1 | Policies: 2 | - ExecutionPolicyScope: CurrentUser 3 | ExecutionPolicy: Unrestricted 4 | - ExecutionPolicyScope: LocalMachine 5 | ExecutionPolicy: RemoteSigned 6 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RegistryValues.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Key: HKLM:\SOFTWARE\Microsoft\Rpc\Internet 3 | ValueName: Ports 4 | ValueData: 60000-60100 5 | ValueType: MultiString 6 | Ensure: Present 7 | Force: True 8 | - Key: HKLM:\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging\ModuleNames 9 | ValueName: 10 | ValueData: 11 | ValueType: String 12 | - Key: HKLM:\Software\Policies\Microsoft\Cryptography\Configuration\SSL\00010002 13 | ValueName: EccCurves 14 | ValueData: 15 | - curve25519 16 | - NistP256 17 | - NistP384 18 | ValueType: MultiString 19 | - Key: HKLM:\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging\ModuleNames(Test) 20 | Ensure: Absent 21 | - Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073} 22 | ValueName: IsInstalled 23 | ValueType: DWORD 24 | ValueData: 0 25 | Force: True -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RemoteDesktopDeployment.yml: -------------------------------------------------------------------------------- 1 | ConnectionBroker: CB1 2 | SessionHosts: 3 | - SH1 4 | - SH2 5 | WebAccess: WA1 6 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RemoteDesktopHAMode.yml: -------------------------------------------------------------------------------- 1 | ConnectionBroker: RDCB01 2 | ClientAccessName: CONTOSOFARM 3 | DatabaseConnectionString: "DRIVER=ODBC Driver 17 for SQL Server;Server=DB01;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDS" 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RemoteDesktopLicensing.yml: -------------------------------------------------------------------------------- 1 | ConnectionBroker : CB1 2 | LicenseMode: PerUser 3 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RemoteDesktopServers.yml: -------------------------------------------------------------------------------- 1 | Servers: 2 | - Role: RDS-Licensing 3 | Server: RDSLIC001.contoso.com 4 | ConnectionBroker: RDSCB001.contoso.com 5 | - Role: RDS-Connection-Broker 6 | Server: RDSCB002.contoso.com 7 | ConnectionBroker: RDSCB001.contoso.com 8 | - Role: RDS-Gateway 9 | Server: RDSGW001.contoso.com 10 | ConnectionBroker: RDSCB001.contoso.com 11 | - Role: RDS-Web-Access 12 | Server: RDSWEB001.contoso.com 13 | ConnectionBroker: RDSCB001.contoso.com 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RenameNetworkAdapters.yml: -------------------------------------------------------------------------------- 1 | Adapters: 2 | - Name: OldDeviceName 3 | NewName: en-0 4 | - Name: MacAddress 5 | NewName: en-1 6 | - Name: InterfaceIndex 7 | NewName: en-2 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/RestartSystem.yml: -------------------------------------------------------------------------------- 1 | ForceReboot: true 2 | PendingReboot: true 3 | SkipComponentBasedServicing: true 4 | SkipWindowsUpdate: true 5 | SkipPendingFileRename: true 6 | SkipPendingComputerRename: true 7 | SkipCcmClientSDK: true 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/Robocopies.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - Source: C:\Test 3 | Destination: C:\Test2 4 | MultiThreaded: true 5 | Restartable: true 6 | AdditionalArgs: '/mir' 7 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ScomManagementPacks.yml: -------------------------------------------------------------------------------- 1 | ManagementPacks: 2 | - Name: CustomPack1 3 | ManagementPackPath: \\SomeShare\SomePath\MyCustomPack.mp 4 | - Name: Dsc.ManagedNodes 5 | ManagementPackContent : | 6 | 7 | 8 | ... 9 | 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/ScomSettings.yml: -------------------------------------------------------------------------------- 1 | ApprovalSetting: AutoApprove 2 | AlertResolutionSetting: 3 | AlertAutoResolveDays: 4 4 | HealthyAlertAutoResolveDays: 1 5 | DatabaseGroomingSetting: 6 | AlertDaysToKeep: 7 7 | AvailabilityHistoryDaysToKeep: 7 8 | EventDaysToKeep: 7 9 | JobStatusDaysToKeep: 7 10 | MaintenanceModeHistoryDaysToKeep: 7 11 | MonitoringJobDaysToKeep: 7 12 | PerformanceDataDaysToKeep: 7 13 | PerformanceSignatureDaysToKeep: 7 14 | StateChangeEventDaysToKeep: 7 15 | DataWarehouseSetting: 16 | DatabaseName: SCOM2019 17 | ServerName: SCBD1\SomeInstance 18 | ErrorReportSetting: OptOut 19 | HeartbeatSetting: 20 | MissingHeartbeatThreshold: 10 21 | HeartbeatIntervalSeconds: 60 22 | ReportingServerUrl: http://SCRS1:80/ReportServer 23 | WebAddressSetting: 24 | WebConsoleUrl: http://OM01.contoso.com/OperationsManager 25 | OnlineProductKnowledgeUrl: http://OM01.contoso.com/Knowledge 26 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/Scripts.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - Name: StandardScript 3 | GetScript: | 4 | @{ 5 | Result = (Get-Date) 6 | } 7 | TestScript: | 8 | [bool(Get-Date) 9 | SetScript: | 10 | Get-Date 11 | 12 | - Name: MinScript 13 | TestScript: | 14 | [bool(Get-Date) 15 | 16 | - Name: ParamScript 17 | Params: 18 | a: 1 19 | b: Test 20 | c: 21 | - x: 1 22 | y: 2 23 | z: 3 24 | - x: 4 25 | y: 5 26 | z: 6 27 | GetScript: | 28 | @{ 29 | Result = (Get-Date) 30 | } 31 | TestScript: | 32 | [bool(Get-Date) 33 | SetScript: | 34 | Get-Date -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SecurityBase.yml: -------------------------------------------------------------------------------- 1 | Role: BaseLine 2 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointCacheAccounts.yml: -------------------------------------------------------------------------------- 1 | CacheAccounts: 2 | SuperReaderAlias: contoso\SP_SuperReader 3 | SuperUserAlias: contoso\SP_SuperUser 4 | WebAppUrl: https://content.contoso.com/ 5 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointContentDatabases.yml: -------------------------------------------------------------------------------- 1 | ContentDatabases: 2 | - Name: SP2016_Content_My_02 3 | DatabaseServer: SqlServer001 4 | WebAppUrl: https://my.contoso.com/ 5 | Enabled: true 6 | WarningSiteCount: 2000 7 | MaximumSiteCount: 5000 8 | - Name: SP2016_Content_CTH 9 | DatabaseServer: SqlServer001 10 | WebAppUrl: https://content.contoso.com 11 | Enabled: true 12 | WarningSiteCount: 2000 13 | MaximumSiteCount: 5000 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointManagedPaths.yml: -------------------------------------------------------------------------------- 1 | ManagedPaths: 2 | - WebAppUrl: t1 #https://content.contoso.com 3 | RelativeUrl: mp1 4 | Explicit: false 5 | HostHeader: false 6 | - WebAppUrl: t2 #https://content.contoso.com 7 | RelativeUrl: mp2 8 | Explicit: false 9 | HostHeader: false 10 | - WebAppUrl: t3 #https://my.contoso.com 11 | RelativeUrl: personal 12 | Explicit: false 13 | HostHeader: false 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointPrereq.yml: -------------------------------------------------------------------------------- 1 | SQLNCli : C:\Install\sqlncli.msi 2 | Sync : C:\Install\Synchronization.msi 3 | AppFabric : C:\Install\WindowsServerAppFabricSetup_x64.exe 4 | IDFX11 : C:\Install\MicrosoftIdentityExtensions-64.msi 5 | MSIPCClient : C:\Install\setup_msipc_x64.exe 6 | WCFDataServices56 : C:\Install\WcfDataServices.exe 7 | MSVCRT11 : C:\Install\vcredist_x64.exe 8 | MSVCRT141 : C:\Install\vc_redist.x64.exe 9 | KB3092423 : C:\Install\AppFabric-KB3092423-x64-ENU.exe 10 | DotNet472 : C:\Install\NDP472-KB4054530-x86-x64-AllOS-ENU.exe 11 | InstallerPath : Z:\PrerequisiteInstaller.exe 12 | IsoFilePath : C:\Install\en_sharepoint_server_2019_x64_dvd_68e34c9e.iso 13 | IsoDriveLetter : 'Z:' 14 | ProductKey : YourProductKey 15 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointServiceAppPools.yml: -------------------------------------------------------------------------------- 1 | ServiceAppPools: 2 | - Name: SharePoint - Service Applications 3 | ServiceAccount: contoso\sp_serviceAppAppPool 4 | - Name: SP2019-Search 5 | ServiceAccount: contoso\sp_searchService 6 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointServiceInstances.yml: -------------------------------------------------------------------------------- 1 | ServiceInstances: 2 | - Name: Managed Metadata Web Service 3 | - Name: User Profile Service 4 | - Name: SharePoint Server Search 5 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointSites.yml: -------------------------------------------------------------------------------- 1 | Sites: 2 | - Name: Contoso Content 3 | Url: https://content.contoso.com 4 | OwnerAlias: contoso\sp_setup 5 | ContentDatabase: SP2016_Content_01 6 | Description: Root site for content 7 | Language: 1033 8 | Template: STS#0 9 | - Name: App Catalog 10 | Url: https://content.contoso.com/sites/AppCatalog 11 | OwnerAlias: contoso\sp_setup 12 | ContentDatabase: SP2016_Content_01 13 | Description: App Catalog 14 | Language: 1033 15 | Template: APPCATELOG#0 16 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SharePointWebApplications.yml: -------------------------------------------------------------------------------- 1 | WebApplications: 2 | - Name: SharePoint - Content 3 | ApplicationPool: SharePoint - Content 4 | ApplicationPoolAccount: contoso\sp_contentAppPool 5 | AllowAnonymous: false 6 | WebAppUrl: https://content.contoso.com/ 7 | HostHeader: content.contoso.com 8 | DatabaseName: SP2016_Content_01 9 | DatabaseServer: SqlServer001 10 | Port: 443 11 | - Name: SharePoint - MySite 12 | ApplicationPool: SharePoint - MySite 13 | ApplicationPoolAccount: contoso\sp_contentAppPool 14 | AllowAnonymous: false 15 | WebAppUrl: https://my.contoso.com/ 16 | HostHeader: content.contoso.com 17 | DatabaseName: SP2016_Content_My_02 18 | DatabaseServer: SqlServer001 19 | Port: 443 20 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SoftwarePackages.yml: -------------------------------------------------------------------------------- 1 | Packages: 2 | - Name: Software One 3 | Path: \\Server\Share\SoftwareOne\SoftwareOne.msi 4 | ProductId: aa859ee6-4f64-439a-85c0-bc1207886cb6 5 | - Name: Software Two 6 | Path: \\Server\Share\SoftwareOne\SoftwareTwo.msi 7 | ProductId: 734f1912-01b1-4f50-8bba-9c3f8912ee8d 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAGDatabases.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - DatabaseName: DB1 3 | AvailabilityGroupName: AGTest1 4 | BackupPath: \\Server1\Backup 5 | InstanceName: MSSQLSERVER 6 | ServerName: SQL1 7 | ProcessOnlyOnActiveNode: true 8 | - DatabaseName: DB2 9 | AvailabilityGroupName: AGTest2 10 | BackupPath: \\Server1\Backup 11 | InstanceName: MSSQLSERVER 12 | ServerName: SQL1 13 | ProcessOnlyOnActiveNode: true 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAGListeners.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: AGTestListener1 3 | InstanceName: INSTANCE1 4 | AvailabilityGroup: AGTest1 5 | ServerName: SQL1 6 | IpAddress: 192.168.10.240 7 | Port: 1433 8 | - Name: AGTestListener2 9 | InstanceName: INSTANCE2 10 | AvailabilityGroup: AGTest2 11 | ServerName: SQL1 12 | IpAddress: 192.168.10.241 13 | Port: 4000 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAGReplicas.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: SQL1 3 | AvailabilityGroupName: AGTest 4 | ServerName: SQL1 5 | InstanceName: MSSQLSERVER 6 | PrimaryReplicaServerName: SQL1 7 | PrimaryReplicaInstanceName: MSSQLSERVER 8 | ProcessOnlyOnActiveNode: true 9 | AvailabilityMode: SynchronousCommit 10 | FailoverMode: Automatic 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAGs.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: AGTest 3 | InstanceName: INSTANCE1 4 | ServerName: SQL1 5 | AvailabilityMode: SynchronousCommit 6 | FailoverMode: Automatic 7 | - Name: AGTest 8 | InstanceName: INSTANCE2 9 | ServerName: SQL1 10 | AvailabilityMode: SynchronousCommit 11 | FailoverMode: Automatic 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAgentAlerts.yml: -------------------------------------------------------------------------------- 1 | DefaultInstanceName: MSSQLSERVER 2 | Alerts: 3 | - Name: 'Sev17' 4 | ServerName: 'TestServer' 5 | InstanceName: 'MSSQLServer' 6 | Severity: '17' 7 | - Name: 'Sev16' 8 | ServerName: 'TestServer' 9 | InstanceName: 'MSSQLServer' 10 | Severity: '16' 11 | - Name: 'Msg825' 12 | ServerName: 'TestServer' 13 | InstanceName: 'MSSQLServer' 14 | MessageId: '825' 15 | - Name: 'Msg123' 16 | ServerName: 'TestServer' 17 | InstanceName: 'MSSQLServer' 18 | MessageId: '123' 19 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAgentOperators.yml: -------------------------------------------------------------------------------- 1 | DefaultInstanceName: MSSQLSERVER 2 | AgentOperators: 3 | - Name: 'DbaTeam' 4 | ServerName: 'TestServer' 5 | InstanceName: 'MSSQLServer' 6 | EmailAddress: 'dbateam@company.com' 7 | - Name: 'APPTeam' 8 | ServerName: 'TestServer' 9 | InstanceName: 'MSSQLServer' 10 | EmailAddress: 'appteam@company.com' 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAliases.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | ServerName : SQL001.contoso.com 3 | Name : SQLSERVER 4 | Protocol : TCP 5 | UseDynamicTcpPort : true 6 | TcpPort : false 7 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlAlwaysOnServices.yml: -------------------------------------------------------------------------------- 1 | ServerName: SQL1 2 | SqlInstanceName: MSSQLSERVER 3 | RestartTimeout: 120 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlConfigurations.yml: -------------------------------------------------------------------------------- 1 | DefaultInstanceName: MSSQLSERVER 2 | Options: 3 | - InstanceName: SecondInstance 4 | OptionName: max degree of parallelism 5 | OptionValue: 1 6 | RestartService: true 7 | - OptionName: max degree of parallelism 8 | OptionValue: 2 9 | - OptionName: backup compression default 10 | OptionValue: 1 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlDatabaseMailSetups.yml: -------------------------------------------------------------------------------- 1 | DefaultInstanceName: MSSQLSERVER 2 | MailSetups: 3 | - ServerName: 'Servername' 4 | InstanceName: 'DSCSQLTEST' 5 | AccountName : 'MyMail' 6 | ProfileName : 'MyMailProfile' 7 | EmailAddress: 'NoReply@company.local' 8 | ReplyToAddress: 'NoReply@company.local' 9 | DisplayName : 'mail.company.local' 10 | MailServerName: 'mail.company.local' 11 | Description : 'Default mail account and profile.' 12 | LoggingLevel: 'Normal' 13 | TcpPort: 25 14 | - ServerName: 'Servername' 15 | InstanceName: 'DSCSQLTEST' 16 | AccountName : 'MyMail2' 17 | ProfileName : 'MyMailProfile2' 18 | EmailAddress: 'NoReply2@company.local' 19 | ReplyToAddress: 'NoReply2@company.local' 20 | DisplayName : 'mail.company.local' 21 | MailServerName: 'mail.company.local' 22 | Description : 'Second Default mail account and profile.' 23 | LoggingLevel: 'Normal' 24 | TcpPort: 25 25 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlDatabases.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: DB1 3 | InstanceName: MSSQLSERVER 4 | RecoveryModel: Full 5 | OwnerName: sa 6 | - Name: DB2 7 | InstanceName: MSSQLSERVER 8 | RecoveryModel: Full 9 | OwnerName: sa 10 | - Name: DB3 11 | InstanceName: MSSQLSERVER 12 | RecoveryModel: Full 13 | OwnerName: sa 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlEndpoints.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - EndpointName: HADR1 3 | EndpointType: DatabaseMirroring 4 | Port: 5022 5 | ServerName: SQL1 6 | InstanceName: MSSQLSERVER 7 | - EndpointName: HADR2 8 | EndpointType: DatabaseMirroring 9 | Port: 5023 10 | ServerName: SQL2 11 | InstanceName: MSSQLSERVER 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlLogins.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: NT SERVICE\ClusSvc 3 | LoginType: WindowsUser 4 | InstanceName: MSSQLSERVER 5 | - Name: contoso\install 6 | LoginType: WindowsUser 7 | InstanceName: MSSQLSERVER 8 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlPermissions.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - Name: NT SERVICE\ClusSvc$ 3 | InstanceName: MSSQLSERVER 4 | Permission: 5 | Grant: 6 | - AlterAnyAvailabilityGroup 7 | - ViewServerState 8 | - ConnectSql 9 | GrantWithGrant: 10 | - ViewServerState 11 | - ConnectSql 12 | - Name: contoso\dbadmin 13 | InstanceName: MSSQLSERVER 14 | ServerName: localhost 15 | Permission: 16 | Grant: 17 | - AlterAnyEndPoint 18 | GrantWithGrant: 19 | - ViewServerState 20 | - ConnectSql 21 | Deny: 22 | - AlterAnyAvailabilityGroup 23 | PermissionToInclude: 24 | Grant: 25 | - AlterAnyEndPoint 26 | GrantWithGrant: 27 | - ViewServerState 28 | - ConnectSql 29 | Deny: 30 | - AlterAnyAvailabilityGroup 31 | PermissionToExclude: 32 | Grant: 33 | - AlterAnyEndPoint 34 | GrantWithGrant: 35 | - ViewServerState 36 | - ConnectSql 37 | Deny: 38 | - AlterAnyAvailabilityGroup -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlRoles.yml: -------------------------------------------------------------------------------- 1 | Values: 2 | - ServerRoleName: sysadmin 3 | MembersToInclude: install 4 | InstanceName: MSSQLSERVER 5 | - ServerRoleName: AdminSqlforBI 6 | MembersToInclude: 7 | - CONTOSO\John 8 | - CONTOSO\Kelly 9 | ServerName: sqltest.company.local 10 | InstanceName: DSC 11 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SqlScriptQueries.yml: -------------------------------------------------------------------------------- 1 | DefaultInstanceName: MSSQLSERVER 2 | Queries: 3 | - InstanceName: MSSQLSERVER 4 | GetQuery: '--Get Query 1' 5 | TestQuery: '--Test Query 1' 6 | SetQuery: '--Set Query 1' 7 | ServerName : 'ServerName' 8 | QueryTimeout: 60 9 | - InstanceName: MSSQLSERVER 10 | GetQuery: '--Get Query 2' 11 | TestQuery: '--Test Query 2' 12 | SetQuery: '--Set Query 2' 13 | QueryTimeout: 60 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/SwitchLcmMode.yml: -------------------------------------------------------------------------------- 1 | SourceMetaMofDir: \\PullServer\Config$\MetaMOF 2 | TargetMetaMofDir: C:\Temp\DSC 3 | ConfigurationName: NewConfigName # leave this field empty to use the current computer name 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/VirtualMemoryFiles.yml: -------------------------------------------------------------------------------- 1 | Files: 2 | - Drive: C 3 | Type: CustomSize 4 | InitialSize: 4096 5 | MaximumSize: 4096 6 | - Drive: P 7 | Type: CustomSize 8 | InitialSize: 8192 9 | MaximumSize: 8192 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WaitForAllNodes.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - ResourceName: '[xADDomain]NewDomain' 3 | NodeName: MyDC 4 | RetryIntervalSec: 15 5 | RetryCount: 30 6 | - ResourceName: '[Service]StartSQLService' 7 | NodeName: SQLServer 8 | RetryIntervalSec: 60 9 | RetryCount: 60 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WaitForAnyNode.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - ResourceName: '[xADDomain]NewDomain' 3 | NodeName: MyDC 4 | RetryIntervalSec: 15 5 | RetryCount: 30 6 | - ResourceName: '[Service]StartSQLService' 7 | NodeName: 8 | - SQLServer1 9 | - SQLServer2 10 | RetryIntervalSec: 60 11 | RetryCount: 60 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WaitForSomeNodes.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - ResourceName: '[Service]StartSQLService' 3 | NodeName: 4 | - SQLServer1 5 | - SQLServer2 6 | NodeCount: 1 7 | RetryIntervalSec: 60 8 | RetryCount: 60 9 | - ResourceName: '[xADDomain]NewDomain' 10 | NodeName: 11 | - DC1 12 | - DC2 13 | - DC3 14 | NodeCount: 2 15 | RetryIntervalSec: 15 16 | RetryCount: 30 17 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WebApplicationPools.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - Name: TestAppPool1 3 | - Name: TestAppPool2 4 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WebApplications.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - Name: TestApp1 3 | PhysicalPath: C:\InetPub\WebApplications1 4 | WebAppPool: TestApp1 5 | WebSite: TestSite1 6 | - Name: TestApp2 7 | PhysicalPath: C:\InetPub\WebApplications2 8 | WebAppPool: TestApp2 9 | WebSite: TestSite2 10 | - Name: TestApp3 11 | PhysicalPath: C:\InetPub\WebApplications3 12 | SslFlags: Ssl 13 | Website: TestSite3 14 | EnabledProtocols: 15 | - http 16 | - https 17 | WebAppPool: AISAppPool 18 | AuthenticationInfo: 19 | Anonymous: false 20 | Basic: false 21 | Digest: false 22 | Windows: true 23 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WebBrowser.yml: -------------------------------------------------------------------------------- 1 | InternetExplorer: 2 | StartPage: 'https://www.contoso.com' 3 | Edge: 4 | StartPage: 'https://www.contoso.com' -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WebConfigProperties.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - WebsitePath: IIS:\Sites\Default Web Site\CertEnroll 3 | Filter: system.webServer/directoryBrowse 4 | PropertyName: enabled 5 | Value: true 6 | - WebsitePath: IIS:\Sites\Default Web Site\CertEnroll 7 | Filter: system.webServer/security/requestFiltering 8 | PropertyName: allowDoubleEscaping 9 | Value: true 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WebVirtualDirectories.yml: -------------------------------------------------------------------------------- 1 | Items: 2 | - Name: VirtualDirectory1 3 | PhysicalPath: C:\InetPub\VirtualDirectory1 4 | WebApplication: TestApp1 5 | WebSite: TestSite1 6 | - Name: VirtualDirectory2 7 | PhysicalPath: C:\InetPub\VirtualDirectory2 8 | WebApplication: TestApp1 9 | WebSite: TestSite1 10 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WindowsEventForwarding.yml: -------------------------------------------------------------------------------- 1 | # Test: SourCollectorce Node 2 | NodeType: Collector 3 | CheckPrerequisites: true 4 | FixWsManUrlAcl: true 5 | Subscriptions: 6 | - SubscriptionID: TestSub 7 | Ensure: Present 8 | SubscriptionType: CollectorInitiated 9 | Address: 10 | - tester.contoso.com 11 | - tester2.contoso.com 12 | 13 | # Test: Source Node 14 | # NodeType: Source 15 | # CollectorName: collector.contoso.com 16 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WindowsEventLogs.yml: -------------------------------------------------------------------------------- 1 | Logs: 2 | - LogName: System 3 | LogMode: Circular 4 | MaximumSizeInBytes: 20971520 5 | - LogName: Directory Service 6 | LogMode: Circular 7 | MaximumSizeInBytes: 5242880 8 | - LogName: Application 9 | LogMode: Retain 10 | MaximumSizeInBytes: 2048KB 11 | LogRetentionDays: 30 12 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WindowsFeatures.yml: -------------------------------------------------------------------------------- 1 | Names: 2 | - +XPS-Viewer 3 | - -Web-Server 4 | - Hyper-V 5 | - '*RSAT' 6 | Features: 7 | - Name: NET-Framework-Core 8 | Source: \\contoso.com\InstallationSources\WinSxs 9 | UseLegacyResource: true 10 | - Name: NET-Framework-Core 11 | UseLegacyResource: false 12 | - Name: RSAT-AD-Tools 13 | IncludeAllSubFeature: true 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/WindowsOptionalFeatures.yml: -------------------------------------------------------------------------------- 1 | RemoveFilesOnDisable: false 2 | NoWindowsUpdateCheck: false 3 | Names: 4 | - +TFTP 5 | - -TelnetClient 6 | - Hyper-V 7 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Config/XmlContent.yml: -------------------------------------------------------------------------------- 1 | XmlData: 2 | - Path: D:\web.config 3 | Ensure: Present 4 | XPath: /configuration/appSettings/Test1/Test1 5 | Attributes: 6 | TestValue1: 'SomeValue1' 7 | TestValue2: 'SomeValue2' 8 | - Path: D:\web.config 9 | Ensure: Present 10 | XPath: /configuration/appSettings/Test1/Test2 11 | Attributes: 12 | TestValue1: 'SomeValue1' 13 | TestValue2: 'SomeValue2' 14 | -------------------------------------------------------------------------------- /tests/Unit/DSCResources/Assets/Datum.yml: -------------------------------------------------------------------------------- 1 | ResolutionPrecedence: 2 | - Config 3 | 4 | default_lookup_options: MostSpecific 5 | 6 | DatumHandlers: 7 | Datum.ProtectedData::ProtectedDatum: 8 | CommandOptions: 9 | PlainTextPassword: Somepass1 10 | --------------------------------------------------------------------------------