Изменить RDP с помощью Invoke-WmiMethod - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу изменить порт RDP с помощью метода WMI, но мой код не работает, и я не знаю почему.

Invoke-WmiMethod -Class StdRegprov -Name SetDWORDvalue -ArgumentList 2147483650,"System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp", "PortNumber", 3354

Я получаю это после выполнения в PowerShell:

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 5
PSComputerName   :

Но ничего не изменилось?

1 Ответ

0 голосов
/ 05 декабря 2018

Это право здесь указывает на вашу проблему:

ReturnValue      : 5

Код возврата 5 означает «доступ запрещен».У вашего пользователя нет прав на запись в это местоположение реестра.Вам, вероятно, нужно запустить код «как администратор».

С учетом сказанного PowerShell обеспечивает прямой доступ к реестру.Для этого вам не нужен WMI.

$reg   = 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'
$name  = 'PortNumber'
$value = 3354

New-ItemProperty -Path $reg -Name $name -Value $value -Type DWORD -Force | Out-Null

Вам все равно нужно запустить его с пользователем, у которого есть доступ на запись в ключ реестра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...