Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. <#
  2. .SYNOPSIS
  3. Remote Desktop ServiceのRDP-Tcp Connectionのアクセス権を初期状態に戻します。
  4. .PARAMETER TerminalName
  5. 対象となるターミナル名を設定します。通常は"RDP-Tcp"が指定されます。
  6. .PARAMETER ComputerName
  7. 対象となるコンピューター名を設定します。未指定の場合は現在のコンピューター名が対象になります。
  8. .PARAMETER Credential
  9. リモートコンピュータに対する認証情報を設定します。
  10. String型もしくはPSCredential型の値を設定してください。
  11. .EXAMPLE
  12. Restore-RDSConnectionPermissions
  13. .NOTES
  14. このメソッドを実行するには昇格している必要があります。
  15. 内部でWin32_TSPermissionsSetting.RestoreDefaults()メソッドを呼んでいます。
  16. .LINK
  17. #>
  18. Function Restore-RDSConnectionPermissions(){
  19. [OutputType('Boolean')]
  20. [CmdletBinding()]
  21. param(
  22. [Parameter(Mandatory=$false)]
  23. [string]$TerminalName = "RDP-Tcp",
  24. [Parameter(Mandatory=$false)]
  25. [string]$ComputerName = $env:COMPUTERNAME,
  26. [Parameter(Mandatory=$false)]
  27. $Credential = $null
  28. )
  29. $Setting = $null
  30. try{
  31. if($Credential -eq $null){
  32. $Setting = Get-WmiObject -Namespace "Root\CIMv2\TerminalServices" -Class Win32_TSPermissionsSetting -ComputerName $ComputerName
  33. }else{
  34. $Setting = Get-WmiObject -Namespace "Root\CIMv2\TerminalServices" -Class Win32_TSPermissionsSetting -ComputerName $ComputerName -Credential $Credential
  35. }
  36. $Setting = $Setting | Where-Object { $_.TerminalName.ToUpper() -eq $TerminalName.ToUpper() }
  37. }catch{
  38. Write-Error $_.Exception
  39. return $false
  40. }
  41. if($Setting.Count -eq 0){
  42. Write-Warning ("指定のターミナル({0})は存在しません。" -F $TerminalName)
  43. return $false
  44. }
  45. try{
  46. Write-Verbose ("{0}.{1} : Execute Win32_TSPermissionsSetting.RestoreDefaults()" -F $ComputerName, $TerminalName)
  47. $Setting.RestoreDefaults() | Out-Null
  48. }
  49. catch [System.Management.Automation.MethodInvocationException] {
  50. Write-Error "Win32_TSPermissionsSetting.RestoreDefaults()メソッドの呼び出しに失敗しました。メソッドの呼び出しに必要な権限を確認してください。"
  51. return $false
  52. }
  53. catch{
  54. Write-Error $_.Exception
  55. return $false
  56. }
  57.  
  58. return $true
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement