<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Подключение с помощью UltraVNC]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11258&amp;type=atom" />
	<updated>2016-06-30T06:33:18Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11258</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Подключение с помощью UltraVNC]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=105706#p105706" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>mozers пишет:</cite><blockquote><p> Добавили его в <a href="https://bitbucket.org/html-applications/lan-admin/wiki/Context_Menu_Commands">контекстное меню</a> <a href="http://html-applications.bitbucket.org/lan-admin/readme.html">LAN Admin</a>-а и стали жить припеваючи.</p></blockquote></div><p>возможно как-то в скрипт передать имя или ip машины к которой пытаешься подключиться из контекстного меню?</p>]]></content>
			<author>
				<name><![CDATA[freed3d]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34018</uri>
			</author>
			<updated>2016-06-30T06:33:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=105706#p105706</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Подключение с помощью UltraVNC]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100898#p100898" />
			<content type="html"><![CDATA[<p><strong>UNDYING</strong>, совершенно верно, главная проблема - тупой юзверь на другом конце.</p>]]></content>
			<author>
				<name><![CDATA[mozers]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=4112</uri>
			</author>
			<updated>2016-02-06T21:52:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100898#p100898</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Подключение с помощью UltraVNC]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100846#p100846" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>mozers пишет:</cite><blockquote><p>Данный скрипт был написан очень давно, в то самое время как нам запретили использовать любые программы для удаленного наблюдения за рабочим столом пользователя. &quot;Если есть необходимость - сбегаете и посмотрите...&quot;. Несколько сотен пользователей в двух зданиях...</p></blockquote></div><p>Пардону прошу, а <strong>MSRA</strong> (Remote Assistant, &quot;Удалённый помощник&quot;) в вашем случае не подошёл из-за &quot;лишних телодвижений&quot; (отправить приглашение, сообщить пароль) со стороны пользователя? Или он просто менее удобен? (или что-то другое?)</p>]]></content>
			<author>
				<name><![CDATA[UNDYING]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27822</uri>
			</author>
			<updated>2016-02-04T16:08:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100846#p100846</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Подключение с помощью UltraVNC]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100673#p100673" />
			<content type="html"><![CDATA[<p>2й вопрос порешал. Код обновил.<br /><span style="color: gray"><em>Уже не первый раз такое: Стоит прилюдно озвучить давнишнюю проблему, так сразу в голову приходит ее решение.</em></span></p>]]></content>
			<author>
				<name><![CDATA[mozers]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=4112</uri>
			</author>
			<updated>2016-01-27T06:59:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100673#p100673</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Подключение с помощью UltraVNC]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100652#p100652" />
			<content type="html"><![CDATA[<p>Данный скрипт был написан очень давно, в то самое время как нам запретили использовать любые программы для удаленного наблюдения за рабочим столом пользователя. &quot;Если есть необходимость - сбегаете и посмотрите...&quot;. Несколько сотен пользователей в двух зданиях...<br />Вот тогда и появился этот скрипт. Добавили его в <a href="https://bitbucket.org/html-applications/lan-admin/wiki/Context_Menu_Commands">контекстное меню</a> <a href="http://html-applications.bitbucket.org/lan-admin/readme.html">LAN Admin</a>-а и стали жить припеваючи.<br />Что делает скрипт:<br />- копирует в каталог <span style="color: blue">\\%comp%\c$\windows\uvnc</span> пару файлов, необходимых для установки и настройки сервиса<br />- устанавливает и запускает сервис на удаленном ПК<br />- запускает на нашей машине <span style="color: blue">UltraVNC Viewer</span> и мы спокойно делаем свои дела (кольсолька со скриптом в это время просто висит на заднем плане)<br />- после закрытия окна <span style="color: blue">UltraVNC Viewer</span>, скрипт останавливает сервис и удаляет все следы нашего пребывания на удаленной машине</p><p>В командной строке запуска скрипта можно указать 3 параметра: имя удаленного компа, логин и пароль администратора.<br />Если параметры не заданы, то они будут запрошены.<br />Если пользователь, запустивший скрипт, имеет права администратора на удаленном ПК, то логин и пароль не требуются.<br />Если пользователь уже запускал скрипт и вводил логин и пароль, то при следующем подключении они так же не потребуются (благодаря уникальной возможности стандартной виндусёвой утилиты <span style="color: blue">SC</span>, которая может использовать сохраненные данные).<br />В зависимости от разрядности локальной и удаленной системы скрипт использует 32 и 64 битные версии <span style="color: blue">UltraVNC</span>. Для 32 битной я выбрал версию &quot;<span style="color: blue">xp</span>&quot;, для 64 битной - &quot;<span style="color: blue">win7</span>&quot;. На всем нашем &quot;зоопарке&quot; работает без проблем, но желающие могут выбрать и <a href="http://www.uvnc.com/component/jdownloads/summary/5/285.html">другие варианты</a>.</p><p>Собственно, код скрипта:</p><div class="codebox"><pre><code>@ECHO off
REM Full version with utils &lt;https://bitbucket.org/html-applications/lan-admin/downloads/cm_vnc.zip&gt;
CHCP 1251&gt;nul
TITLE UltraVNC
COLOR 71
CD /d &quot;%~dp0&quot;
ECHO      ====================================
ECHO          Connect with UltraVNC v.1.2.0
ECHO      ====================================
ECHO    Usage: _vnc [computer] [login] [password]
ECHO.
SET comp=%1
IF [%comp%]==[] SET /p comp=Enter computer name for connect:
IF [%comp%]==[] GOTO :error

TITLE UltraVNC : %comp%

IF not exist \\%comp%\C$\ (
	IF [%2]==[] (
		NET use * \\%comp%\c$ /savecred
	) ELSE (
		NET use * \\%comp%\c$ %3 /user:%2
	)
	IF errorlevel 1 GOTO :error
	FOR /F &quot;tokens=2&quot; %%i IN (&#039;NET use^|FIND /i &quot;\\%comp%\c$&quot;&#039;) DO NET use %%i /delete
)

SET install_dir=windows\uvnc

IF not exist \\%comp%\C$\%install_dir%\winvnc.exe (
	MD \\%comp%\C$\%install_dir%
	&lt;nul SET /p a=Copy to computer %comp% files UltraVNC
	IF exist &quot;\\%comp%\C$\Windows\SysWOW64&quot; (
		ECHO 64...
		XCOPY x64\winvnc.exe \\%comp%\C$\%install_dir%\ /f /c /y
	) ELSE (
		ECHO 32...
		XCOPY winvnc.exe \\%comp%\C$\%install_dir%\ /f /c /y
	)
	IF errorlevel 1 GOTO :error
	XCOPY ultravnc.ini \\%comp%\C$\%install_dir%\ /f /c /y
	IF errorlevel 1 GOTO :error
)

SC \\%comp% query uvnc_service | FIND &quot;uvnc_service&quot;
IF errorlevel 1 (
	ECHO.
	ECHO Create service...
	SC \\%comp% create uvnc_service binpath= &quot;c:\%install_dir%\winvnc.exe -service&quot; start= auto
	IF errorlevel 1 GOTO :error
)

SC \\%comp% query uvnc_service | FIND &quot;RUNNING&quot;
IF errorlevel 1 (
	ECHO.
	ECHO Start service...
	SC \\%comp% start uvnc_service
	IF errorlevel 1 GOTO :error
)
ECHO.
&lt;nul SET /p a=Wait for opening of the port connection
:tcping
&lt;nul SET /p a=.
TcPing -n 1 %comp% 5900 &gt;nul 2&lt;&amp;1
if errorlevel 1 goto :tcping
SET errorlevel=0
ECHO.

ECHO.
&lt;nul SET /p a=Run VNCViewer
IF exist %windir%\SysWOW64 (
	ECHO 64...
	ECHO                                    = DON&#039;T CLOSE THIS CONSOLE! =
	x64\vncviewer.exe %comp% -password gfhjkm
) else (
	ECHO 32...
	ECHO                                    = DON&#039;T CLOSE THIS CONSOLE! =
	vncviewer.exe %comp% -password gfhjkm
)
IF errorlevel 1 GOTO :error

ECHO.
ECHO Stop and delete service...
SC \\%comp% stop uvnc_service
IF errorlevel 1 GOTO :error
SC \\%comp% delete uvnc_service
IF errorlevel 1 GOTO :error

ECHO.
ECHO Wait for completion of the process winvnc.exe...
PING 127.0.0.1 -n 9 &gt; nul

ECHO.
&lt;nul SET /p a=Remove UltraVNC files
:rd
RD /s /q \\%comp%\C$\%install_dir% 2&gt;nul
&lt;nul SET /p a=.
IF exist \\%comp%\C$\%install_dir% GOTO :rd
ECHO.
ECHO Bye!
EXIT /b

:error
PAUSE
EXIT /b 1</code></pre></div><p>Обновляемая версия этого кода лежит <a href="https://bitbucket.org/html-applications/script/src/default/_vnc.cmd">тут</a>.<br />Полный пакет (со всеми необходимыми утилитами) - <a href="https://bitbucket.org/html-applications/lan-admin/downloads/cm_vnc.zip">тут</a>.</p><p>Несколько мыслей вслух (м.б. кто предложит лучшее решение?):<br />1. В Win7 и выше скрипт работает без претензий. Для обеспечения работы в WinXP пришлось к <span style="color: blue">SC</span> добавлять <span style="color: blue">FIND</span> чтобы хоть как то определить результат выполнения (т.к. старая версия <span style="color: blue">SC</span> всегда возвращает 0).<br /><span style="color: gray"><em>2. Окончание остановки удаленного сервера тупо ждем 10 сек по таймеру. Если сервер за это время еще не успел завершить работу, то файлы им блокируются и удалить их не удастся.<br />От варианта с проверкой наличия процесса winvnc.exe пришлось отказаться, т.к. я не нашел утилиты, способной использовать сохраненные данные предыдущего подключения (SC, оказывается, уникальна в этом плане).</em></span><br />3. Трюк с подключением и тут же отключением сетевого диска служит для сохранения учетных данных для последующих сеансов. Что то даже не могу придумать какой то иной вариант...</p>]]></content>
			<author>
				<name><![CDATA[mozers]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=4112</uri>
			</author>
			<updated>2016-01-25T10:19:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100652#p100652</id>
		</entry>
</feed>
