diamon@truediamon.ru:~$

Windows, Linux, КПК и немного ещё.

Удалённое включение 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