├── Profile size warning
├── FSLogix Office Container Size Warning.ps1
├── FSLogix Profile Size Warning.ps1
├── Images
│ └── fsl.jpeg
└── README.md
├── Reduce profile size
└── Reduce-FSLogix-Profiles.ps1
└── Start menu rules RDSH 2019
├── FSLogix Rules assignments.ps1
├── README.md
├── Startmenu-Items.fxa
├── Startmenu-Items.fxr
├── Startmenu-Layout-Users.fxa
├── Startmenu-Layout-Users.fxr
├── Startmenu-WinX-Admins.fxa
├── Startmenu-WinX-Admins.fxr
├── Startmenu-WinX-Users.fxa
├── Startmenu-WinX-Users.fxr
├── Windows Security-Startmenu.fxa
└── Windows Security-Startmenu.fxr
/Profile size warning/FSLogix Office Container Size Warning.ps1:
--------------------------------------------------------------------------------
1 | # ****************************************************
2 | # D. Mohrmann, S&L Firmengruppe, Twitter: @mohrpheus78
3 | # ****************************************************
4 |
5 | <#
6 | .SYNOPSIS
7 | Shows a message to user in the notificarion area if FSLogix Office container is almost full.
8 |
9 | .DESCRIPTION
10 | Gets information about the users FSLogix office container (size and remaining size) and calculates the free space in percent.
11 |
12 | .EXAMPLE
13 | .FSLogix Office container Size Warning.ps1
14 |
15 | .NOTES
16 | This script must be run on a machine where the user is currently logged on.
17 | Should be run as a powershell login script via GPO.
18 | Edit value $PercentFree -le 10 in line 34 to define the free percent.
19 | #>
20 |
21 | # Wait 10 sec. till showing the message
22 | Start-Sleep 10
23 |
24 | # Get the relevant informations from the FSLogix profile
25 | $FSLOContainerSize = Get-Volume -FileSystemLabel *Profile-$ENV:USERNAME* | Where-Object { $_.DriveType -eq 'Fixed'}
26 |
27 | # Execute only if FSLogix profile is available
28 | IF (!($FSLProfileSize -eq $nul))
29 | {
30 | # Calculate the free space in percent
31 | $PercentFree = [Math]::round((($FSLOContainerSize.SizeRemaining/$FSLOContainerSize.size) * 100))
32 |
33 | # If free space is less then 10 % show message
34 | IF ($PercentFree -le 10) {wlrmdr -s 25 -f 2 -t FSLogix Profile -m Attention! Your Office container contingent is almost exhausted. Please inform the IT service!}
35 | }
36 |
--------------------------------------------------------------------------------
/Profile size warning/FSLogix Profile Size Warning.ps1:
--------------------------------------------------------------------------------
1 | # ****************************************************
2 | # D. Mohrmann, S&L Firmengruppe, Twitter: @mohrpheus78
3 | # ****************************************************
4 |
5 | <#
6 | .SYNOPSIS
7 | Shows a message to user in the notificarion area if FSLogix profile is almost full.
8 |
9 | .DESCRIPTION
10 | Gets information about the users FSLogix profile (size and remaining size) and calculates the free space in percent.
11 |
12 | .EXAMPLE
13 | .FSLogix Profile Size Warning.ps1
14 |
15 | .NOTES
16 | This script must be run on a machine where the user is currently logged on.
17 | Should be run as a powershell login script via GPO.
18 | Edit value $PercentFree -le 10 in line 34 to define the free percent.
19 | #>
20 |
21 | # Wait 10 sec. till showing the message
22 | Start-Sleep 10
23 |
24 | # Get the relevant informations from the FSLogix profile
25 | $FSLProfileSize = Get-Volume -FileSystemLabel *Profile-$ENV:USERNAME* | Where-Object { $_.DriveType -eq 'Fixed'}
26 |
27 | # Execute only if FSLogix profile is available
28 | IF (!($FSLProfileSize -eq $nul))
29 | {
30 | # Calculate the free space in percent
31 | $PercentFree = [Math]::round((($FSLProfileSize.SizeRemaining/$FSLProfileSize.size) * 100))
32 |
33 | # If free space is less then 10 % show message
34 | IF ($PercentFree -le 10) {wlrmdr -s 25 -f 2 -t FSLogix Profile -m Warning! Your profile contingent is almost exhausted. Please inform the IT service!}
35 | }
36 |
--------------------------------------------------------------------------------
/Profile size warning/Images/fsl.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Profile size warning/Images/fsl.jpeg
--------------------------------------------------------------------------------
/Profile size warning/README.md:
--------------------------------------------------------------------------------
1 | # FSLogix profile size warning
2 | Display a warning message for your users at logon if the profile or office container runs out of space.
3 | You can change the value of the percent free (default is 10).
4 | Launch script via Posh logon script in user context.
5 |
6 | ## Example
7 | 
8 |
--------------------------------------------------------------------------------
/Reduce profile size/Reduce-FSLogix-Profiles.ps1:
--------------------------------------------------------------------------------
1 | #######################################################################
2 | # D. Mohrmann, 30.10.2023
3 | # Delete folders from FSLogix profile you added to redirection.xml
4 | #######################################################################
5 |
6 | <#
7 | .SYNOPSIS
8 | Delete folders you added to the redirections.xml but are already inside the user profile disk
9 |
10 | .DESCRIPTION
11 |
12 | .EXAMPLE
13 |
14 | .NOTES
15 | Place the script inside the folder where the redirections.xml is located and enter the path the the users profile disks
16 | #>
17 |
18 |
19 | # Root Verfolder for FSL profiles
20 | $VHDRootFolder = "D:\FSLogix\Profiles"
21 |
22 | # Order, deren Inhalt gelöscht werden soll
23 |
24 | [XML]$xml = Get-Content "$PSScriptRoot\redirections.xml"
25 | $SelectedValues = $xml.FrxProfileFolderRedirection.Excludes.Exclude | Where-Object { $_."#text" -like "AppData*" } | Select-Object -ExpandProperty "#text"
26 |
27 | $Folders = @(
28 | $SelectedValues
29 | )
30 |
31 | Function Set-AlternatingRows {
32 | [CmdletBinding()]
33 | Param(
34 | [Parameter(Mandatory,ValueFromPipeline)]
35 | [string]$Line,
36 |
37 | [Parameter(Mandatory)]
38 | [string]$CSSEvenClass,
39 |
40 | [Parameter(Mandatory)]
41 | [string]$CSSOddClass
42 | )
43 | Begin {
44 | $ClassName = $CSSEvenClass
45 | }
46 | Process {
47 | If ($Line.Contains("
"))
48 | { $Line = $Line.Replace(" |
","
")
49 | If ($ClassName -eq $CSSEvenClass)
50 | { $ClassName = $CSSOddClass
51 | }
52 | Else
53 | { $ClassName = $CSSEvenClass
54 | }
55 | }
56 | Return $Line
57 | }
58 | }
59 |
60 | function checkFileStatus($filePath)
61 | {
62 | $fileInfo = New-Object System.IO.FileInfo $filePath
63 |
64 | try
65 | {
66 | $fileStream = $fileInfo.Open( [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::Read )
67 | $filestream.Close()
68 | return $false
69 | }
70 | catch
71 | {
72 |
73 | return $true
74 | }
75 | }
76 |
77 | function Get-NextFreeDriveLetter {
78 |
79 | [CmdletBinding()]
80 | param (
81 | [string[]]$ExcludeDriveLetter = ('A-F', 'Z'), # Laufwerke ausschließen, die nicht verwendet werden sollen
82 |
83 | [switch]$Random,
84 |
85 | [switch]$All
86 | )
87 |
88 | $Drives = Get-ChildItem -Path Function:[a-z]: -Name
89 |
90 | if ($ExcludeDriveLetter) {
91 | $Drives = $Drives -notmatch "[$($ExcludeDriveLetter -join ',')]"
92 | }
93 |
94 | if ($Random) {
95 | $Drives = $Drives | Get-Random -Count $Drives.Count
96 | }
97 |
98 | if (-not($All)) {
99 |
100 | foreach ($Drive in $Drives) {
101 | if (-not(Test-Path -Path $Drive)){
102 | return $Drive
103 | }
104 | }
105 |
106 | }
107 | else {
108 | Write-Output $Drives | Where-Object {-not(Test-Path -Path $_)}
109 | }
110 | }
111 |
112 | function vhdmount($v) {
113 | try {
114 | $VHDNumber = Mount-DiskImage -ImagePath $v -NoDriveLetter -Passthru -ErrorAction Stop | Get-DiskImage
115 | $partition = Get-Partition -DiskNumber $VHDNumber.Number
116 | Set-Partition -PartitionNumber $partition.PartitionNumber -DiskNumber $VHDNumber.Number -NewDriveLetter $FreeDrive
117 | return "0"
118 | } catch {
119 | return "1"
120 | }
121 | }
122 | function vhdoptimize($v) {
123 | try {
124 | foreach ($folder in $folders) {
125 | if (Test-Path -Path $ProfileRoot\$folder -PathType Container) {
126 | Get-ChildItem -Path $ProfileRoot\$folder | Remove-Item -Recurse -Force -EA SilentlyContinue
127 | Write-Host "Content from '$ProfileRoot\$folder' deleted!"
128 | } else {
129 | Write-Host "'$ProfileRoot\$folder' doesn't exists or ist not a folder!"
130 | }
131 | }
132 |
133 |
134 | $r = 0
135 | } catch {
136 | $r = 1
137 | }
138 | }
139 |
140 | function vhddismount($v) {
141 | try {
142 | Dismount-DiskImage $v -ErrorAction stop
143 | return "0"
144 | } catch {
145 | return "1"
146 | }
147 | }
148 |
149 | # Get the next free drive letter to mount the profile disk
150 | $FreeDrive = Get-NextFreeDriveLetter
151 | $FreeDrive = $FreeDrive -replace ".$"
152 | $ProfileRoot = ($FreeDrive + ":" + "\" + 'Profile')
153 |
154 | $vhds = (get-childitem $VHDRootFolder -recurse -Include *.vhd,*.vhdx).fullname
155 | [System.Collections.ArrayList]$info = @()
156 | $t = 0
157 | foreach ($vhd in $vhds) {
158 | $locked = checkFileStatus -filePath $vhd
159 | if ($locked -eq $true) {
160 | "$vhd in use, skipping."
161 | continue
162 | }
163 | Write-Host -Foregroundcolor Yellow "Mounting '$vhd'"
164 | Write-Host `n
165 | $mount = vhdmount -v $vhd
166 | if ($mount -eq "1") {
167 | $e = "Mounting $vhd failed "+(get-date).ToString()
168 | break
169 | }
170 | $info.add((vhdoptimize -v $vhd)) | Out-Null
171 | $dismount = vhddismount -v $vhd
172 | if ($dismount -eq "1") {
173 | $e = "Failed to dismount $vhd "+(get-date).ToString()
174 | break
175 | }
176 | }
177 |
178 | Write-Host `n
179 | Read-Host "Press a key to exit"
180 |
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/FSLogix Rules assignments.ps1:
--------------------------------------------------------------------------------
1 | # ******************************************************
2 | # D. Mohrmann, S&L Firmengruppe, Twitter: @mohrpheus78
3 | # FSLogix Rule assignments
4 | # ******************************************************
5 |
6 | <#
7 | .SYNOPSIS
8 | This script uses the FSLogix Powershell Rules module to assign predefined FSL rules to users and/or groups. The templates are based on my blog post on mycugc.org
9 |
10 | .DESCRIPTION
11 | You have to install the module from the PSGallery. The script checks whether the PSGallery is a trusted repo. Otherwise you will be asked to trust the repo and install
12 | the module. Put the script in a directory with the rules and run the script in an elevated Powershell session. The FSLogix rules editor must be installed!
13 |
14 | .EXAMPLE
15 | .\FSLogix Rules assignment.ps1
16 |
17 | .NOTES
18 | Run as admin! If you want to use other groups then Domain Users and Domain Admins, you have to customize the script.
19 | The script can be used in several languages, which is important because the system accounts have different names.
20 | In German, for example, the name for the local service is "LOKALER DIENST".
21 |
22 |
23 | Version: 1.0
24 | Author: Dennis Mohrmann <@mohrpheus78>
25 | Creation Date: 2021-04-08
26 | Purpose/Change:
27 | 2021-04-08 Inital version
28 | 2021-04-10 Added notes
29 | 2021-04-15 Changed the method to find out the groups
30 | 2021-04-16 Check if Rules editor is installed
31 | #>
32 |
33 | Write-Host -ForegroundColor Gray "************************"
34 | Write-Host -ForegroundColor Gray "FSLogix Rules Assignment"
35 | Write-Host -ForegroundColor Gray "************************"
36 | Write-Host ""
37 |
38 | # Import/Istall FSL Rules module
39 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
40 | IF (!(Get-Module -ListAvailable -Name FSLogix.PowerShell.Rules))
41 | {
42 | Write-Host -ForegroundColor Yellow "FSLogix Rules Powershell Module not installed!"
43 | $PSGallery =(Get-PSRepository -Name PSGallery).InstallationPolicy
44 | IF ($PSGallery -eq "Untrusted")
45 | {
46 | Write-Host -ForegroundColor Yellow "Unable to install the module, PSGallery repository is not a trusted repo! Do you want to trust the PSGallery repo?"
47 | $Q = Read-Host "( Y / N )"
48 | IF ($Q -eq 'Y')
49 | {
50 | Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
51 | }
52 | ELSE {
53 | Write-Host -ForegroundColor Red "Aborted by the user!"
54 | BREAK
55 | }
56 | }
57 | }
58 |
59 | IF (!(Get-Module -ListAvailable -Name FSLogix.PowerShell.Rules))
60 | {
61 | Write-Host -ForegroundColor Yellow "Installing the FSLogix Rules Powershell module" -NoNewLine
62 | Install-Module FSLogix.PowerShell.Rules -Force | Import-Module FSLogix.PowerShell.Rules
63 | Write-Host -ForegroundColor Green "...Ready!"
64 | }
65 |
66 | # Check if FSL rules editor is installed
67 | IF (!(Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -eq "Microsoft FSLogix Apps RuleEditor"}))
68 | {
69 | Write-Host -ForegroundColor Yellow "FSLogix Rules Editor is NOT installed, please install and run the script again!"
70 | BREAK
71 | }
72 |
73 | # Define system accounts locale
74 | Write-Host -ForegroundColor Yellow "Getting group and user locale" -NoNewLine
75 | $NETWORK = ((New-Object System.Security.Principal.SecurityIdentifier ('S-1-5-2')).Translate( [System.Security.Principal.NTAccount])).Value
76 | $NETWORKSERVICE = ((New-Object System.Security.Principal.SecurityIdentifier ('S-1-5-20')).Translate( [System.Security.Principal.NTAccount])).Value
77 | $LOCALSERVICE = ((New-Object System.Security.Principal.SecurityIdentifier ('S-1-5-19')).Translate( [System.Security.Principal.NTAccount])).Value
78 | $SYSTEM = ((New-Object System.Security.Principal.SecurityIdentifier ('S-1-5-18')).Translate( [System.Security.Principal.NTAccount])).Value
79 |
80 | # Define Domain group locale
81 | [string] $krbtgtSID = (New-Object Security.Principal.NTAccount $env:userdomain\krbtgt).Translate([Security.Principal.SecurityIdentifier]).Value
82 | $DomSID = $krbtgtSID.SubString(0, $krbtgtSID.LastIndexOf('-'))
83 | $DomUsers = (Get-WmiObject -Query 'Select * FROM Win32_Group' | Where-Object {$_.SID -eq "$DomSID-513"}).Name
84 | $DomAdmins = (Get-WmiObject -Query 'Select * FROM Win32_Group' | Where-Object {$_.SID -eq "$DomSID-512"}).Name
85 | Write-Host -ForegroundColor Green "...Ready!"
86 |
87 | # Import PS module
88 | Import-Module FSLogix.PowerShell.Rules
89 |
90 | # Rules assignments
91 | Write-Host -ForegroundColor Yellow "Assigning users and local accounts to rules" -NoNewLine
92 | # Startmenü Layout Rule
93 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-Layout-Users.fxa" -WellKnownSID S-1-5-21domain-513 -GroupName "$env:USERDOMAIN\$DomUsers" -RuleSetApplies
94 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-Layout-Users.fxa" -WellKnownSID S-1-5-21domain-512 -GroupName "$env:USERDOMAIN\$DomAdmins"
95 |
96 | # Startmenü items Rule
97 | $(
98 | if (!(Test-Path -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start))
99 | {
100 | New-Item -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device -Name Start -Force
101 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderDocuments -Value 0
102 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderDocuments_ProviderSet -Value 1
103 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderPictures -Value 0
104 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderPictures_ProviderSet -Value 1
105 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderSettings -Value 0
106 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name AllowPinnedFolderSettings_ProviderSet -Value 1
107 | New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Start -Name HidePowerButton -Value 1
108 | }
109 | ) | Out-Null
110 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-Items.fxa" -WellKnownSID S-1-5-21domain-513 -GroupName "$env:USERDOMAIN\$DomUsers"
111 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-Items.fxa" -WellKnownSID S-1-5-21domain-512 -GroupName "$env:USERDOMAIN\$DomAdmins" -RuleSetApplies
112 |
113 | # Startmenü Win-X Admin Rule
114 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-WinX-Admins.fxa" -WellKnownSID S-1-5-21domain-513 -GroupName "$env:USERDOMAIN\$DomUsers"
115 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-WinX-Admins.fxa" -WellKnownSID S-1-5-21domain-512 -GroupName "$env:USERDOMAIN\$DomAdmins" -RuleSetApplies
116 |
117 | # Startmenü Win-X User Rule
118 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-WinX-Users.fxa" -WellKnownSID S-1-5-21domain-513 -GroupName "$env:USERDOMAIN\$DomUsers" -RuleSetApplies
119 | Add-FslAssignment -Path "$PSScriptRoot\Startmenu-WinX-Users.fxa" -WellKnownSID S-1-5-21domain-512 -GroupName "$env:USERDOMAIN\$DomAdmins"
120 |
121 | # Startmenü Windows-Sicherheit Rule
122 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-21domain-513 -GroupName "$env:USERDOMAIN\$DomUsers" -RuleSetApplies
123 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-21domain-512 -GroupName "$env:USERDOMAIN\$DomAdmins"
124 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-2 -GroupName "$NETWORK"
125 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-20 -GroupName "$NETWORKSERVICE"
126 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-18 -GroupName "$SYSTEM"
127 | Add-FslAssignment -Path "$PSScriptRoot\Windows Security-Startmenu.fxa" -WellKnownSID S-1-5-18 -GroupName "$LOCALSERVICE"
128 | Write-Host -ForegroundColor Green "... Ready!"
129 | Write-Host -ForegroundColor Yellow "Please check the rules!"
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/README.md:
--------------------------------------------------------------------------------
1 | # FSLogix start menu rules for RDSH 2019
2 | This script uses the FSLogix Powershell Rules module to assign predefined FSL rules to users and/or groups. The rules templates are based on my blog post on mycugc.org.
3 | You have to install the module from the PSGallery. The script checks whether the PSGallery is a trusted repo. Otherwise you will be asked to trust the repo and install
4 | the module. Put the script in a directory with the rules and run the script in an elevated Powershell session. The FSLogix rules editor must be installed!
5 | If you want to use other groups then Domain Users and Domain Admins, you have to customize the script. The script can be used in several languages, which is important because the system accounts have different names. In German, for example, the name for the local service is "LOKALER DIENST".
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-Items.fxa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-Items.fxa
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-Items.fxr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-Items.fxr
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-Layout-Users.fxa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-Layout-Users.fxa
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-Layout-Users.fxr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-Layout-Users.fxr
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-WinX-Admins.fxa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-WinX-Admins.fxa
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-WinX-Admins.fxr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-WinX-Admins.fxr
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-WinX-Users.fxa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-WinX-Users.fxa
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Startmenu-WinX-Users.fxr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Startmenu-WinX-Users.fxr
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Windows Security-Startmenu.fxa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Windows Security-Startmenu.fxa
--------------------------------------------------------------------------------
/Start menu rules RDSH 2019/Windows Security-Startmenu.fxr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mohrpheus78/FSLogix/65e7deef560ff641207317a2e1db83cfe3f75d26/Start menu rules RDSH 2019/Windows Security-Startmenu.fxr
--------------------------------------------------------------------------------