<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: Замена ответов Rasdial]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12129&amp;type=atom" />
	<updated>2016-11-06T02:42:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12129</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: Замена ответов Rasdial]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108826#p108826" />
			<content type="html"><![CDATA[<p>Одна (но не единственная) из трудностей задачи — после выполнения в CMD.EXE команды с перенаправлением<br /></p><div class="codebox"><pre><code>command_1 | command_2</code></pre></div><p>не доступны коды возврата ни command_1, ни command2.</p><p>Оставаясь в рамках командных файлов, удалось получить лишь следующие решения:<br />1) просеивая вывод RASDIAL с помощью FINDSTR<br /></p><div class="codebox"><pre><code>@echo off
if /%1==/1 goto 1
&quot;%~0&quot; 1 | findstr /v /b^
	/c:&quot;Чтобы вывести сведения о данной ошибке:&quot;^
	/c:&quot;	введите &#039;hh netcfg.chm&#039; и в Справке&quot;^
	/c:&quot;	выберите раздел разрешения проблем, затем сообщений об ошибках и найдите &quot;^
	/c:&quot;Костыль&quot;
exit /b
---------------------------
:1
(echo Костыль)
rem Предыдущая строка - &quot;костыль&quot; для синхронизации, зачем - сам плохо понимаю
SET /P CONNECTION=CONNECTION=&gt;CON
rasdial %CONNECTION%
if errorlevel 1 goto 1
exit /b
</code></pre></div><p>2) перенаправляя вывод RASDIAL во временный файл и <span class="bbu">затем</span> обрабатывая его, не используя внешних команд<br /></p><div class="codebox"><pre><code>@echo off
setlocal enableextensions enabledelayedexpansion
:1
(
	call :2
	if errorlevel 1 goto 1
) &gt;rasdial.log &lt;rasdial.log
del rasdial.log
endlocal
exit /b
---------------------------
:2
rasdial connection
(echo **EOF**)

:3
set &quot;line=&quot;
set /p &quot;line=&quot;
if &quot;!line!&quot;==&quot;**EOF**&quot; exit /b 0
if &quot;!line!&quot;==&quot;Чтобы вывести сведения о данной ошибке:&quot; exit /b 1
echo:!line!&gt;con
goto 3
</code></pre></div><p>В обоих случаях не видно живого хода подключения — весь вывод RASDIAL показывается после завершения команды: во втором случае это очевидно, в первом — менее предсказуемо.</p><p>Предполагаю (пока не проверял), что положение может спасти подключение к решению JS (или VBS) для чтения выходного потого RASDIAL. Если не использовать вывод в файл и слежение за ним, то возможен либо запуск RASDIAL методом <em>WshShell.Exec</em>, либо перенаправление выходного потока RASDIAL во входной поток сценария WSH.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2016-11-06T02:42:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108826#p108826</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: Замена ответов Rasdial]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108823#p108823" />
			<content type="html"><![CDATA[<p>Стандартные ответы rasdial:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="quotebox"><blockquote><p>Установка связи с rasdial...<br />Проверка имени и пароля пользователя...</p><p>Ошибка службы удаленного доступа 691 - В удаленном подключении отказано, так как<br /> не удалось распознать указанную комбинацию имени пользователя и пароля или выбр<br />анный протокол проверки подлинности не разрешен на сервере удаленного доступа.</p><p>Чтобы вывести сведения о данной ошибке:<br />&nbsp; &nbsp; &nbsp; &nbsp; введите &#039;hh netcfg.chm&#039; и в Справке<br />&nbsp; &nbsp; &nbsp; &nbsp; выберите раздел разрешения проблем, затем сообщений об ошибках и найдите<br /> 691.</p><br /><p>Установка связи с rasdial...<br />Проверка имени и пароля пользователя...<br />Регистрация компьютера в сети...<br />Установлена связь с rasdial.<br />Команда успешно выполнена.<br />_____________________________________________________________________</p></blockquote></div></div></div><p>Желаймый ответ при ошибках - укороченный:<br /></p><div class="quotebox"><blockquote><p>Установка связи с rasdial...<br />Проверка имени и пароля пользователя...</p><p>Ошибка службы удаленного доступа 691 - В удаленном подключении отказано, так как<br /> не удалось распознать указанную комбинацию имени пользователя и пароля или выбр<br />анный протокол проверки подлинности не разрешен на сервере удаленного доступа.</p></blockquote></div><p>Соблюдая условия перезвона при ошибке:<br /></p><div class="codebox"><pre><code>if %ERRORLEVEL% GTR 0 (goto RasDial)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[paspdkmok]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34307</uri>
			</author>
			<updated>2016-11-05T19:45:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108823#p108823</id>
		</entry>
</feed>
