Удалённое включение RDP
Понадобилось тут включить RDP на десятке компьютеров в офисе. Можно, конечно, включить через реестр, но тогда требуется перезагрузка компьютера. Нашёл способ, лишённый этого недостатка:
wmic /node:ИМЯ_КОМПЬЮТЕРА path win32_terminalservicesetting where (__Class!="") call setallowtsconnections 1
Для удобства написал батничек. В качестве параметра ему передавать или имена компьютеров через пробел, или файл в котором имена компьютеров по одному в каждой строке.
@echo off
SetLocal EnableExtensions
if {%1}=={} goto syntax
if {%1}=={-f} goto file
:loop
if {%1}=={} goto finish
ping -n 1 %1 | find "недоступен" > nul
if %errorlevel%==0 (
echo %%I - Узел недоступен
) else (
echo %%I - ok
wmic /node:"%1" path win32_terminalservicesetting where (__Class!="") call setallowtsconnections 1
)
shift
goto loop
:file
shift
For /F "Delims=" %%I In (%1) Do (
ping -n 1 %1 | find "недоступен" > nul
if %errorlevel%==0 (
echo %%I - Узел недоступен
) else (
echo %%I - ok
start /B cmd.exe /c "wmic /node:"%%I" path win32_terminalservicesetting where (__Class!="") call setallowtsconnections 1"
)
)
goto finish
:syntax
echo Enable-RDP Comp1 [Comp2 .... CompN]
echo or
echo Enable-RDP -f file.txt
:finish
EndLocal