Initial checkin
This commit is contained in:
commit
d7f3b846ed
4
README.md
Normal file
4
README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Reset Rdp Trail Licenses
|
||||||
|
|
||||||
|
This script resets the RDP Trail license date (normaly 120 days).
|
||||||
|
The script has been adjusted so no input is required and you can just schedule it to run every reboot or with patching.
|
77
reset.ps1
Normal file
77
reset.ps1
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
## This Script is intended to be used for Querying remaining time and resetting Terminal Server (RDS) Grace Licensing Period to Default 120 Days.
|
||||||
|
## Developed by Prakash Kumar (prakash82x@gmail.com) May 28th 2016
|
||||||
|
## www.adminthing.blogspot.com
|
||||||
|
## Disclaimer: Please test this script in your test environment before executing on any production server.
|
||||||
|
## Author will not be responsible for any misuse/damage caused by using it.
|
||||||
|
|
||||||
|
Clear-Host
|
||||||
|
$ErrorActionPreference = "SilentlyContinue"
|
||||||
|
|
||||||
|
## Display current Status of remaining days from Grace period.
|
||||||
|
$GracePeriod = (Invoke-WmiMethod -PATH (gwmi -namespace root\cimv2\terminalservices -class win32_terminalservicesetting).__PATH -name GetGracePeriodDays).daysleft
|
||||||
|
Write-Host -fore Green ======================================================
|
||||||
|
Write-Host -fore Green 'Terminal Server (RDS) grace period Days remaining are' : $GracePeriod
|
||||||
|
Write-Host -fore Green ======================================================
|
||||||
|
Write-Host
|
||||||
|
#$Response = Read-Host "Do you want to reset Terminal Server (RDS) Grace period to Default 120 Days ? (Y/N)"
|
||||||
|
$Response = "Y"
|
||||||
|
|
||||||
|
if ($Response -eq "Y") {
|
||||||
|
## Reset Terminal Services Grace period to 120 Days
|
||||||
|
|
||||||
|
$definition = @"
|
||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
namespace Win32Api
|
||||||
|
{
|
||||||
|
public class NtDll
|
||||||
|
{
|
||||||
|
[DllImport("ntdll.dll", EntryPoint="RtlAdjustPrivilege")]
|
||||||
|
public static extern int RtlAdjustPrivilege(ulong Privilege, bool Enable, bool CurrentThread, ref bool Enabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"@
|
||||||
|
|
||||||
|
Add-Type -TypeDefinition $definition -PassThru
|
||||||
|
|
||||||
|
$bEnabled = $false
|
||||||
|
|
||||||
|
## Enable SeTakeOwnershipPrivilege
|
||||||
|
$res = [Win32Api.NtDll]::RtlAdjustPrivilege(9, $true, $false, [ref]$bEnabled)
|
||||||
|
|
||||||
|
## Take Ownership on the Key
|
||||||
|
$key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod", [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::takeownership)
|
||||||
|
$acl = $key.GetAccessControl()
|
||||||
|
$acl.SetOwner([System.Security.Principal.NTAccount]"Administrators")
|
||||||
|
$key.SetAccessControl($acl)
|
||||||
|
|
||||||
|
## Assign Full Controll permissions to Administrators on the key.
|
||||||
|
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","Allow")
|
||||||
|
$acl.SetAccessRule($rule)
|
||||||
|
$key.SetAccessControl($acl)
|
||||||
|
|
||||||
|
## Finally Delete the key which resets the Grace Period counter to 120 Days.
|
||||||
|
Remove-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod'
|
||||||
|
|
||||||
|
write-host
|
||||||
|
Write-host -ForegroundColor Red 'Resetting, Please Wait....'
|
||||||
|
Start-Sleep -Seconds 10
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Else
|
||||||
|
{
|
||||||
|
Write-Host
|
||||||
|
Write-Host -ForegroundColor Yellow '**You Chose not to reset Grace period of Terminal Server (RDS) Licensing'
|
||||||
|
}
|
||||||
|
|
||||||
|
## Display Remaining Days again as final status
|
||||||
|
tlsbln.exe
|
||||||
|
$GracePost = (Invoke-WmiMethod -PATH (gwmi -namespace root\cimv2\terminalservices -class win32_terminalservicesetting).__PATH -name GetGracePeriodDays).daysleft
|
||||||
|
Write-Host
|
||||||
|
Write-Host -fore Yellow =====================================================
|
||||||
|
Write-Host -fore Yellow 'Terminal Server (RDS) grace period Days remaining are' : $GracePost
|
||||||
|
Write-Host -fore Yellow =====================================================
|
||||||
|
|
||||||
|
## Cleanup of Variables
|
||||||
|
Remove-Variable * -ErrorAction SilentlyContinue
|
Loading…
Reference in New Issue
Block a user