Skip to content

Instantly share code, notes, and snippets.

@stknohg
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stknohg/55dfc3268a047c0dfe25 to your computer and use it in GitHub Desktop.
Save stknohg/55dfc3268a047c0dfe25 to your computer and use it in GitHub Desktop.
Remote Desktop ServiceのRDP-Tcp Connectionのアクセス権を初期状態に戻すスクリプト。
<#
.SYNOPSIS
Remote Desktop ServiceのRDP-Tcp Connectionのアクセス権を初期状態に戻します。
.PARAMETER TerminalName
対象となるターミナル名を設定します。通常は"RDP-Tcp"が指定されます。
.PARAMETER ComputerName
対象となるコンピューター名を設定します。未指定の場合は現在のコンピューター名が対象になります。
.PARAMETER Credential
リモートコンピュータに対する認証情報を設定します。
String型もしくはPSCredential型の値を設定してください。
.EXAMPLE
Restore-RDSConnectionPermissions
.NOTES
このメソッドを実行するには昇格している必要があります。
内部でWin32_TSPermissionsSetting.RestoreDefaults()メソッドを呼んでいます。
.LINK
#>
Function Restore-RDSConnectionPermissions(){
[OutputType('Boolean')]
[CmdletBinding()]
param(
[Parameter(Mandatory=$false)]
[string]$TerminalName = "RDP-Tcp",
[Parameter(Mandatory=$false)]
[string]$ComputerName = $env:COMPUTERNAME,
[Parameter(Mandatory=$false)]
$Credential = $null
)
$Setting = $null
try{
if($Credential -eq $null){
$Setting = Get-WmiObject -Namespace "Root\CIMv2\TerminalServices" -Class Win32_TSPermissionsSetting -ComputerName $ComputerName
}else{
$Setting = Get-WmiObject -Namespace "Root\CIMv2\TerminalServices" -Class Win32_TSPermissionsSetting -ComputerName $ComputerName -Credential $Credential
}
$Setting = $Setting | Where-Object { $_.TerminalName.ToUpper() -eq $TerminalName.ToUpper() }
}catch{
Write-Error $_.Exception
return $false
}
if($Setting.Count -eq 0){
Write-Warning ("指定のターミナル({0})は存在しません。" -F $TerminalName)
return $false
}
try{
Write-Verbose ("{0}.{1} : Execute Win32_TSPermissionsSetting.RestoreDefaults()" -F $ComputerName, $TerminalName)
$Setting.RestoreDefaults() | Out-Null
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Error "Win32_TSPermissionsSetting.RestoreDefaults()メソッドの呼び出しに失敗しました。メソッドの呼び出しに必要な権限を確認してください。"
return $false
}
catch{
Write-Error $_.Exception
return $false
}
return $true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment