mirror of https://github.com/stascorp/rdpwrap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.3 KiB
31 lines
1.3 KiB
Set-StrictMode -Version Latest
|
|
|
|
function New-RdpLocalUser {
|
|
<#
|
|
Optional: a dedicated local account for RDP so the interactive (console)
|
|
user and the RDP user are different principals. Avoids single-session
|
|
license locks in OneDrive/Outlook/Office. Prompts for the password; this
|
|
tool never bakes or transmits credentials.
|
|
#>
|
|
param([Parameter(Mandatory)][string]$UserName)
|
|
|
|
if (Get-LocalUser -Name $UserName -ErrorAction SilentlyContinue) {
|
|
Write-Log "Local user '$UserName' already exists." ; return
|
|
}
|
|
$sec = Read-Host "Set password for new RDP user '$UserName'" -AsSecureString
|
|
New-LocalUser -Name $UserName -Password $sec -PasswordNeverExpires:$true `
|
|
-Description 'RdpCoexist dedicated RDP account' | Out-Null
|
|
Add-LocalGroupMember -Group 'Remote Desktop Users' -Member $UserName -ErrorAction SilentlyContinue
|
|
Write-Log "Local user '$UserName' created and added to Remote Desktop Users." 'Ok'
|
|
}
|
|
|
|
function Remove-RdpLocalUser {
|
|
param([Parameter(Mandatory)][string]$UserName)
|
|
if (Get-LocalUser -Name $UserName -ErrorAction SilentlyContinue) {
|
|
Remove-LocalUser -Name $UserName
|
|
Write-Log "Local user '$UserName' removed."
|
|
}
|
|
}
|
|
|
|
Export-ModuleMember -Function New-RdpLocalUser, Remove-RdpLocalUser
|