diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5a7778b..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,30 +0,0 @@ -# Changelog for xoap-application-packaging-dsc - -The format is based on and uses the types of changes according to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- None - -### Changed - -- None - -### Deprecated - -- None - -### Removed - -- None - -### Fixed - -- None - -### Security - -- None diff --git a/DSCResources/Services/Services.psd1 b/DSCResources/Services/Services.psd1 deleted file mode 100644 index 8cc8b32..0000000 --- a/DSCResources/Services/Services.psd1 +++ /dev/null @@ -1,124 +0,0 @@ -# -# Module manifest for module 'Services' -# -# Generated by: Sinisa Sokolic -# -# Generated on: 7/25/2023 -# - -@{ - -# Script module or binary module file associated with this manifest. -RootModule = 'Services.schema.psm1' - -# Version number of this module. -ModuleVersion = '0.0.1' - -# Supported PSEditions -# CompatiblePSEditions = @() - -# ID used to uniquely identify this module -GUID = '09a6295a-d863-47d9-b8ac-22fedaf9fcfc' - -# Author of this module -Author = 'Sinisa Sokolic' - -# Company or vendor of this module -CompanyName = 'RIS AG' - -# Copyright statement for this module -Copyright = '(c) 2023 XOAP. All rights reserved.' - -# Description of the functionality provided by this module -Description = 'Configure Windows Services for Azure Virtual Desktop VMs based on Windows 11.' - -# Minimum version of the Windows PowerShell engine required by this module -PowerShellVersion = '5.1' - -# Name of the Windows PowerShell host required by this module -# PowerShellHostName = '' - -# Minimum version of the Windows PowerShell host required by this module -# PowerShellHostVersion = '' - -# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. -# DotNetFrameworkVersion = '' - -# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. -# CLRVersion = '' - -# Processor architecture (None, X86, Amd64) required by this module -# ProcessorArchitecture = '' - -# Modules that must be imported into the global environment prior to importing this module -# RequiredModules = @() - -# Assemblies that must be loaded prior to importing this module -# RequiredAssemblies = @() - -# Script files (.ps1) that are run in the caller's environment prior to importing this module. -# ScriptsToProcess = @() - -# Type files (.ps1xml) to be loaded when importing this module -# TypesToProcess = @() - -# Format files (.ps1xml) to be loaded when importing this module -# FormatsToProcess = @() - -# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess -# NestedModules = @() - -# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. -FunctionsToExport = '*' - -# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. -CmdletsToExport = '*' - -# Variables to export from this module -VariablesToExport = '*' - -# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. -AliasesToExport = '*' - -# DSC resources to export from this module -# DscResourcesToExport = @() - -# List of all modules packaged with this module -# ModuleList = @() - -# List of all files packaged with this module -# FileList = @() - -# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. -PrivateData = @{ - - PSData = @{ - - # Tags applied to this module. These help with module discovery in online galleries. - # Tags = @() - - # A URL to the license for this module. - # LicenseUri = '' - - # A URL to the main website for this project. - # ProjectUri = '' - - # A URL to an icon representing this module. - # IconUri = '' - - # ReleaseNotes of this module - # ReleaseNotes = '' - - } # End of PSData hashtable - -} # End of PrivateData hashtable - -# HelpInfo URI of this module -# HelpInfoURI = '' - -# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. -# DefaultCommandPrefix = '' - -} - - diff --git a/DSCResources/Services/Services.schema.psm1 b/DSCResources/Services/Services.schema.psm1 deleted file mode 100644 index 2dd915d..0000000 --- a/DSCResources/Services/Services.schema.psm1 +++ /dev/null @@ -1,53 +0,0 @@ -<# -.SYNOPSIS​ -Please fill me. -​ -.DESCRIPTION​ -Please fill me. - -.COMPONENT​ -Information about PowerShell Modules to be required. ​ -Powershell Module: PSDesiredStateConfiguration​ -Powershell Module: AuditPolicyDSC​ -Powershell Module: SecurityPolicyDSC​ -Powershell Module: PowerShellAccessControl​ -​Powershell Module: WindowsDefender - -.EXAMPLE -Get-DscResource -Module XOAP* - -.NOTES -For more information about advanced functions, call Get-Help with any -of the topics in the links listed below. -Module Name : XOAPModuleTemplateDSC -Resource Name : Services.schema.psm1 -Author : info@XOAP.io -​ -.LINK​ -https://www.microsoft.com/en-us/download/details.aspx?id=55319​ -​ -.LINK​ -https://www.powershellgallery.com/packages/BaselineManagement/2.9.0​ -​ -.LINK​ -https://gallery.technet.microsoft.com/scriptcenter/PowerShellAccessControl-d3be7b83​ - -.LINK -https://www.powershellgallery.com/packages/WindowsDefender/1.0.0.4 -#> -configuration Services -{ - - #Import-DSCResource -ModuleName xPSDesiredStateConfiguration - # - #xRegistry disableInsecureCipher_a - #{ - # Key = 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56' - # ValueName = 'Enabled' - # ValueData = '0' - # ValueType = 'Dword' - # Ensure = 'Present' - # Force = $true - #} - -} diff --git a/DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.psd1 b/DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.psd1 similarity index 97% rename from DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.psd1 rename to DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.psd1 index 8a523a2..5c876d0 100644 --- a/DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.psd1 +++ b/DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.psd1 @@ -1,5 +1,5 @@ # -# Module manifest for module 'XOAP_QuickStartConfiguration' +# Module manifest for module 'XOAP_RDSQuickStartConfiguration' # # Generated by: XOAP.io # @@ -9,7 +9,7 @@ @{ # Script module or binary module file associated with this manifest. -RootModule = 'XOAP_QuickStartConfiguration.schema.psm1' +RootModule = 'XOAP_RDSQuickStartConfiguration.schema.psm1' # Version number of this module. ModuleVersion = '0.0.1' diff --git a/DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.schema.psm1 b/DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.schema.psm1 similarity index 98% rename from DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.schema.psm1 rename to DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.schema.psm1 index dd764cf..a5e6e0b 100644 --- a/DSCResources/XOAP_QuickStartConfiguration/XOAP_QuickStartConfiguration.schema.psm1 +++ b/DSCResources/XOAP_RDSQuickStartConfiguration/XOAP_RDSQuickStartConfiguration.schema.psm1 @@ -1,4 +1,4 @@ -Configuration 'XOAP_QuickStartConfiguration' +Configuration 'XOAP_RDSQuickStartConfiguration' { Import-DSCResource -ModuleName 'PSDesiredStateConfiguration' Import-DscResource -ModuleName 'xRemoteDesktopSessionHost' -ModuleVersion '2.1.0' diff --git a/Examples/Resources/_dummy b/Examples/Resources/_dummy deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/XOAPModuleTemplateDSC.ps1 b/Examples/XOAPModuleTemplateDSC.ps1 deleted file mode 100644 index aaa6dd7..0000000 --- a/Examples/XOAPModuleTemplateDSC.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -configuration XOAPModuleTemplateDSC -{ - param - ( - # Target nodes to apply the configuration - [string[]]$NodeName = 'localhost' - ) - - Import-Module XOAPModuleTemplateDSC - Import-DSCResource -ModuleName XOAPModuleTemplateDSC - - Node $NodeName - { - - $moduleRoot = [io.path]::GetDirectoryName((Get-Module XOAPModuleTemplateDSC).Path) - #$examples = "$moduleRoot\Examples" - - # Install the IIS role - WindowsFeature IIS - { - Ensure = "Present" - Name = "Web-Server" - } - - } -} - diff --git a/Examples/XOAPRemoteDesktopServicesDSC.ps1 b/Examples/XOAPRemoteDesktopServicesDSC.ps1 index a9ec5cb..f2e2492 100644 --- a/Examples/XOAPRemoteDesktopServicesDSC.ps1 +++ b/Examples/XOAPRemoteDesktopServicesDSC.ps1 @@ -1,6 +1,6 @@ Configuration 'XOAPRemoteDesktopServicesDSC' { - Import-DSCResource -Module 'XOAPRemoteDesktopServicesDSC' -Name 'XOAP_QuickStartConfiguration' -ModuleVersion '0.0.1' + Import-DSCResource -Module 'XOAPRemoteDesktopServicesDSC' -Name 'XOAP_RDSQuickStartConfiguration' -ModuleVersion '0.0.1' param ( @@ -11,7 +11,7 @@ Configuration 'XOAPRemoteDesktopServicesDSC' Node 'XOAPRemoteDesktopServicesDSC' { - XOAP_QuickConfiguration 'Example' + XOAP_RDSQuickStartConfiguration 'Example' { ConnectionBrokerServerName = $ConnectionBrokerServerName SessionHostServerName = $$SessionHostServerName diff --git a/Readme.md b/Readme.md index 7078672..b68bdc4 100644 --- a/Readme.md +++ b/Readme.md @@ -394,101 +394,3 @@ Configuration 'XOAPRemoteDesktopServicesDSC' } XOAPRemoteDesktopServicesDSC -OutputPath 'C:\XOAPRemoteDesktopServicesDSC' ``` -## Quick deployment with XOAP and config.XO - -For a basic installation, you need a minimum of two Windows Server 2016 nodes. One node will be the RD Connection Broker, and the other node will be the RD Session Host. -Additionally, you need to open the following ports on your nodes to our backend API at https://api.xoap.io. - -### Create new parameter for your domain user with admin rights on the nodes - -Go to Configuration Management --> Parameters--> - -Add Parameter and fill in required information. - -![1.png](docs%2Fimg%2F1.png) - -### Adjust existing configuration with your values - -Go to Configuration Management --> Configurations --> - -Find **XOAP_RDS_Infrastructure** configuration. - -![2.png](docs%2Fimg%2F2.png) - -Click on the action menu--> Click **Edit** - -![3.png](docs%2Fimg%2F3.png) - -Set PsDscRunAsCredential parameter --> From the drop-down menu select your previously created user. - -Set ConnectionBrokerServerName --> FQDN of the server which will be connection broker. - -Set SessionHostServerName--> FQDN of the server which will be session host. - -Set AllowedUserGroup--> Active Directory name of the group of users which will have access to the published applications. - -![4.png](docs%2Fimg%2F4.png) - -## Register Nodes - -Download the registration script for the infrastructure node: - -![5.png](docs%2Fimg%2F5.png) - -Run the script on your infrastructure node. - -> Be sure to run the script as administrator in PowerShell 5.1 - -Download the registration script for the session host node: - -![6.png](docs%2Fimg%2F6.png) - -> Be sure to run the script as administrator in PowerShell 5.1 - -After a few minutes, your nodes should show up as compliant in XOAP. - -A full list of changes in each version can be found in the [Releases](https://github.com/xoap-io/XOAPRemoteDesktopServicesDSC/releases). - -## Documentation - -This script is used to easily create new DSC modules and resources. - -## Prerequisites - -Please install Plaster first and make sure it's present. - -```powershell -Install-Module Plaster -Import-Module Plaster -``` - -## Create new DSC modules - -Modules will be automatically created once you are creating a new DSC resource. - -## Create new DSC resources - -DSC resources can easily be deployed via the invocation of - -```powershell -.\New-CompositeResource.ps1 -``` - -with parameters - -```powershell -.\New-CompositeResource.ps1 -Module XOAPModuleTemplateDSC -Version 0.0.1 -Resource ScheduledTasks -``` - -The parameter list is as followed: - -| Parameter | Description | Note | -|-----------|----------------------------------------|------| -| Module | Name of the outer module part | - | -| Version | Target version of the module | - | -| Ressource | The name of the ressource /config part | - | - -### Examples - -You can review the [Examples](/Examples/Resources) directory in the **XOAPModuleTemplateDSC** module -for some general use scenarios for all the resources that are in the module. diff --git a/XOAPModuleTemplateDSC.psd1 b/XOAPModuleTemplateDSC.psd1 deleted file mode 100644 index 5e34dea..0000000 --- a/XOAPModuleTemplateDSC.psd1 +++ /dev/null @@ -1,124 +0,0 @@ -# -# Module manifest for module 'XOAPAModuleTemplate1DSC' -# -# Generated by: Sinisa Sokolic -# -# Generated on: 7/25/2023 -# - -@{ - -# Script module or binary module file associated with this manifest. -# RootModule = '' - -# Version number of this module. -ModuleVersion = '0.0.1' - -# Supported PSEditions -# CompatiblePSEditions = @() - -# ID used to uniquely identify this module -GUID = '9300a1eb-8865-4cf3-abf2-bd2f8f7d861d' - -# Author of this module -Author = 'Sinisa Sokolic' - -# Company or vendor of this module -CompanyName = 'RIS AG' - -# Copyright statement for this module -Copyright = '(c) 2023 XOAP.io. All rights reserved.' - -# Description of the functionality provided by this module -Description = 'Module to configure Azure Virtual Desktop Optimizations on Windows 11. ' - -# Minimum version of the Windows PowerShell engine required by this module -PowerShellVersion = '5.1' - -# Name of the Windows PowerShell host required by this module -# PowerShellHostName = '' - -# Minimum version of the Windows PowerShell host required by this module -# PowerShellHostVersion = '' - -# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. -# DotNetFrameworkVersion = '' - -# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. -# CLRVersion = '' - -# Processor architecture (None, X86, Amd64) required by this module -# ProcessorArchitecture = '' - -# Modules that must be imported into the global environment prior to importing this module -# RequiredModules = @() - -# Assemblies that must be loaded prior to importing this module -# RequiredAssemblies = @() - -# Script files (.ps1) that are run in the caller's environment prior to importing this module. -# ScriptsToProcess = @() - -# Type files (.ps1xml) to be loaded when importing this module -# TypesToProcess = @() - -# Format files (.ps1xml) to be loaded when importing this module -# FormatsToProcess = @() - -# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess -# NestedModules = @() - -# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. -FunctionsToExport = @() - -# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. -CmdletsToExport = @() - -# Variables to export from this module -VariablesToExport = '*' - -# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. -AliasesToExport = @() - -# DSC resources to export from this module -# DscResourcesToExport = @() - -# List of all modules packaged with this module -# ModuleList = @() - -# List of all files packaged with this module -# FileList = @() - -# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. -PrivateData = @{ - - PSData = @{ - - # Tags applied to this module. These help with module discovery in online galleries. - # Tags = @() - - # A URL to the license for this module. - # LicenseUri = '' - - # A URL to the main website for this project. - # ProjectUri = '' - - # A URL to an icon representing this module. - # IconUri = '' - - # ReleaseNotes of this module - # ReleaseNotes = '' - - } # End of PSData hashtable - -} # End of PrivateData hashtable - -# HelpInfo URI of this module -# HelpInfoURI = '' - -# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. -# DefaultCommandPrefix = '' - -} - -