Last active
August 29, 2015 14:22
-
-
Save stknohg/55dfc3268a047c0dfe25 to your computer and use it in GitHub Desktop.
Remote Desktop ServiceのRDP-Tcp Connectionのアクセス権を初期状態に戻すスクリプト。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.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