Скрипт Для подключения общего ресурса

Для ОС Windows
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт Для подключения общего ресурса

Сообщение Артём Мамзиков »

Скрипт Для подключения общего ресурса, расшаренного ресурса, Общей папки.

Для того что бы вручную не набивать имя ПК, либо IP адрес ПК, если это разные рабочие группы или доменная сеть и обычная.

Делаем скрипт который:
0. Определение текущей сети и подстановка IP
1. запрашивает логин пароль на подключение,
2. назначает первую свободную букву с конца алфавита,
3. дает имя сетевому диску,
4. сохраняет логин пароль.
5. Если все удачно откроется общая папка

Скрипт на CMD bat

Скачать
mount-docs.zip
mount-docs.zip
(5.42 КБ) 7 скачиваний

Образец будет для текущей сети подставлять IP например 192.168.101.7 или 192.168.102.7 и т.д.
расшаренная папка будет находится по следующему пути 192.168.101.7\docs
так как у нас уже была настроенная общая папка под гостем без авторизации (без матрицы доступа) в начале нам ее нужно отключить.

@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Артём Андреевич Мамзиков
chcp 1251 >NUL
TITLE Переподключение диска\папки docs
@cls

::Получаем просто подсеть из начала совпадения строки более правильно чем dns
for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do (
:: Так как ip разной длинны обрезка :~1.10% нам не подходит разбиваем на октеты
for /f "tokens=1-4 delims=. " %%k in ("%%d") do set IP=%%k.%%l.%%m
)
set Server=%IP: =%.7

:: Отключаем конкретную папку
net use \\%Server%\docs /delete /y
:: Удалит сразу все подключенные сетевые диски
::net use * /delete /y
::net use z: /delete /y


:vopros
chcp 1251 >NUL
:: Запрос Логина Пароля
set login=Введите имя пользователя (Логин):=
set password=Введите пароль (Пароль ):=
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo %login%
set /P loginp=
echo.
echo %password%
set /P passwordp=
echo.

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc config WebClient start= auto
sc failure WebClient reset= 60 actions= restart/60000/restart/120000//
net start WebClient

:: Подключение сетевого диска
:: Перебираем свободные буквы для сетевого диска с буквы Z
For %%Z In (Z Y X W V U T S R Q P O N M L J I H G F E) Do If Not Exist "%%Z:\" Set Disk=%%Z& GoTo ExitLoop
Echo Нет свободных букв дисков
:ExitLoop
::set str=net use %Disk%: \\%Server%\docs /user:%loginp% %passwordp% /persistent:yes
set str=net use %Disk%: \\%Server%\docs /user:ДОМЕН\%loginp% %passwordp% /persistent:yes

chcp 1251 >NUL
:: Подпишем диск
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%Server%#docs /t REG_SZ /v _LabelFromReg /d Общая /f

echo %str%
%str%
start %Disk%:\

chcp 866 >NUL
pause
color 0f



Некоторые моменты при подключении через доменную учётку которые возникли у нас
Есть доменное имя
Например domen.local завязано оно на 3 сервера т.е. при его пинге чередуются IP адреса для данного имени
2 сервера подсети видят , 3 нет (доступ закрыт) это другая подсеть и в этот момент не проходит авторизация, даже если жестко задан DNS доступного сервера , попытки прописать данные в hosts файл, бывает что у чётки не авторизуются.
Причем если уже все доступно общий ресурс недоступен нужно отключать и снова подключать, либо после перезагрузки.

Для Windows

Если не подключается docs скриптом mount-docs-cp1251.bat
1 Отключить Диск в моем компьютере
2 Удалить сохранённые логин пароли через cmd командой net use * /delete
можно еще проверить командами rundll32.exe keymgr.dll, KRShowKeyMgr или control userpasswords2

Проверить пинг на ping Домен.local
Если пинга нет то ОбновитьDNS командой ipconfig /flushdns

Просмотреть IP
nslookup Домен.local

Обновление учеток по LDAP
Проверить gpupdate

После снова запускаем скрипт mount-docs-cp1251.bat

Попытка через HOST файл
FOR /L %I IN (1,1,10) DO ECHO 192.168.101.7 SRV%I >> C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS

Если где то вирус скрыл папки
attrib -h -s /d /s D:\docs\*
attrib -h -s /d /s D:\docs

Подключение сетевого диска из ownСloud
Рабочий вариант скрипта , но после перезагрузки не проходил логин пароль
cloud1etalon.bat
Показать
@echo off
mode con:cols=100 lines=20
color f0
echo.
chcp 1251 >NUL
TITLE Подключение к "Облачному хранилищу"
set x=Для подключения к "Облачному хранилищу" введите логин и пароль от почты Zimbra.
set n=Сетевой диск с вашим именем пользователя будет доступен в "Мой Компьютер".
set l=Введите логин для почты Zimbra и нажмите Enter:
set p=Введите пароль для почты Zimbra и нажмите Enter:
chcp 866 >NUL
echo %x%
echo %n%
echo.
echo %l%
echo.
set /P user=
echo.
echo %p%
echo.
set /P password=
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc config WebClient start= auto
sc failure WebClient reset= 60 actions= restart/60000/restart/120000//
net start WebClient
For %%Z In (Z Y X W V U T S R Q P O N M L J I H G F E) Do If Not Exist "%%Z:\" Set Disk=%%Z& GoTo ExitLoop
Echo Нет свободных букв дисков
:ExitLoop
set str=net use %Disk%: http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:No /user:%user% %password%
echo %str%
%str%
start %Disk%:\
color 0f
Другие варианты скриптов тестировались
cloud2.bat
Показать
@echo off
chcp 1251
set /P user="Введите логин от zimbra Spark glpi: "
set /P password="Введите пароль от zimbra Spark glpi: "
net use x: /delete /y
reg add HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc config WebClient start= auto
net start WebClient
cmdkey /generic:cloud.DNS.ru /user:%user% /pass:%password%
For %%Z In (Z Y X W V U T S R Q P O N M L J I H G F E D C) Do If Not Exist "%%Z:\" Set Disk=%%Z& GoTo ExitLoop
Echo Нет свободных букв дисков
:ExitLoop
set str=net use "%Disk%": http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:Yes /user:%user% %password%
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#DavWWWRoot#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d Облако /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d Облако /f
echo %str%
set str=%str:echo =%
%str%
start %Disk%:\
if exist h:\* exit /b 0
culd.bat
Показать
reg add HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc config WebClient start= auto
net start WebClient
set user=mamzikovaa
set password=Пароль
net use x: /delete /y
cmdkey /generic:cloud.DNS.ru /user:%user%@DNS.ru /pass:%password%
set str=net use x: http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:Yes /user:%user% %password%
chcp 1251
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#DavWWWRoot#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d ќблако /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d ќблако /f
echo %str%
set str=%str:echo =%
%str%
start x:\
всякая разная инфа в процессе создания
Показать
set user=echo %username% - запрос пользователя ПК
set str=net use z: http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:Yes /user:%user% - подключение диска
echo %str%
set str=%str:echo =%
%str%
start z:\

/user - имя пользователя должно быть в виде USER@DOMAIN или DOMAIN\USER
runas /user:имя-пользователя@домен "C:\Program Files\Opera\launcher.exe"
runas /user:mamzikovaa@DNS.ru "cmd.exe"
runas /user:mamzikovaa@DNS.local "cmd.exe"
runas /user:DNS.local\mamzikovaa "cmd.exe"
set COMPUTERNAME=echo %COMPUTERNAME%
sc.exe \\%COMPUTERNAME% config WebClient start= auto
sc.exe \\%COMPUTERNAME% start WebClient

net use x: http://mamzikovaa:Пароль@cloud.DNS.ru/o ... amzikovaa/ /Persistent:Yes /user:mamzikovaa@DNS.ru
net use x: http://cloud.DNS.ru/owncloud/remote.php ... amzikovaa/ /Persistent:Yes /user:mamzikovaa@DNS.ru Пароль
net use x: http://cloud.DNS.ru/owncloud/remote.php ... amzikovaa/ Пароль /user:mamzikovaa@DNS.ru


net use "\\server\share" password /user:login
net use x: \\VasyaServer\Share /user:VASYADOMAIN\VASYA 12345
Примонтируем сетевой диск под буквой X, расположенный на сервере \\VasyaServer\Share, имя пользователя VASYA, домен VASYADOMAIN, пароль 12345

reg add HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f
sc config WebClient start= auto
net start WebClient
set user=echo %username%
set password=
set str=net use x: http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:Yes /user:%user%@DNS.ru %password%
echo %str%
set str=%str:echo =%
%str%
start x:\


Для того, чтобы подключиться по протоколу WebDAV к нашему серверу OwnCloud в Windows 7 необходимо выполнить следующие действия:

1. Изменить параметры ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameter\ BasicAuthLevel с 1 на 2

Он может принимать 3 возможных значения:

0 – Basic-аутентификация полностью запрещена
1 – Basic-аутентификация разрешена для SSL-соединений (значение по умолчанию)
2 – Basic-аутентификация разрешена для любых типов соединений


cmdkey /add:SRV10 /user:user /pass:passwd - создать учетную запись для подключения к компьютеру SRV10 пользователя user с паролем passwd

cmdkey /add:cloud.DNS.ru /user:mamzikovaa@DNS.ru /pass:Пароль
cmdkey /generic:cloud.DNS.ru /user:mamzikovaa@DNS.ru /pass:Пароль

Формат командной строки:

CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}]

targetname - определяет компьютер или домен, с который эта учетная запись будет связана.

/generic:targetName - общие учетные данные.

TargetName — имя компьютера или домена, где будут использованы полученные учетные данные.

/smartcard - определяет режим получения удостоверения с использованием смарт-карты

/user:username - имя пользователя.

/pass:password - пароль для учетной записи.

/delete:targetname |/ras - удаление учетной записи, /ras используется для того, что бы удалить учетные данные сервера удаленного доступа RAS.

/list:targetname - отобразить список учетных записей.


@echo off - скрыть выполнение команд
chcp 1251 - изменение кодировки если текст иероглифами
set /P user="Введите логин от zimbra Spark glpi: " - запрос логина
set /P password="Введите пароль от zimbra Spark glpi: " - запрос пароля
net use x: /delete /y - удаление диска X
reg add HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 2 /f - изменение параметра реестра Basic-аутентификация разрешена для любых типов соединений
sc config WebClient start= auto - перевод службы ВебКлиент на автозапуск
net start WebClient - старт службы ВебКлиент
cmdkey /generic:cloud.DNS.ru /user:%user% /pass:%password% - Сохранение пароля в Диспетчер учетных данных
For %%Z In (Z Y X W V U T S R Q P O N M L J I H G F E D C) Do If Not Exist "%%Z:\" Set Disk=%%Z& GoTo ExitLoop -поиск свободной буквы для присвоения диску
Echo Нет свободных букв дисков
:ExitLoop
set str=net use "%Disk%": http://cloud.DNS.ru/owncloud/remote.php/dav/files/%user%/ /Persistent:Yes /user:%user% %password% - подключение диска
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#DavWWWRoot#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d Облако /f - переименования диска параметр реестра
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##cloud.DNS.ru#owncloud#remote.php#dav#files#%user% /t REG_SZ /v _LabelFromReg /d Облако /f - - переименования диска параметр реестра
echo %str%
set str=%str:echo =%
%str%
start %Disk%:\ - открытие смонтированного диска
if exist h:\* exit /b 0 - если буква диска h занята прекратить выполнение скрипта дальше и выйти
Скрипт для Подключение сетевого диска (расшареной папки) на Alt Linux
количество слов: 1277

Вернуться в «Windows»