MacCentre
Форум: Mac и Mac OS X
Тема: Скрипт переподключения сетевых шар

[Ответить]
Hisoka [25.09.2017 13:01] Скрипт переподключения сетевых шар:
Здравствуйте знатоки.
Достался такой скрипт на подключение сетевых шар:
set uName to "логин:пароль"

set myVolumeLabel1 to "шара1"
set myVolumeLabel2 to "шара2"
set myVolumeLabel3 to "шара3"
set myVolumeLabel4 to "шара4"
--set myvolumeLabel5 to "старый_сервер"
set myVolumeLabel6 to "шара1-1"
set myVolumeLabel7 to " шара2-1"
set myVolumeLabel8 to "шара3-1"
set myVolumeLabel9 to "шара4-1"
--set myvolumeLabel10 to "старый_сервер-1"
set myVolumeLabel11 to "шара1-2"
set myVolumeLabel12 to "шара2-2"
set myVolumeLabel13 to "шара3-2"
set myVolumeLabel14 to "шара4-2"
--set myvolumeLabel15 to "старый_сервер-2"

set myMountString1 to "smb://домен;логин:пароль@сервер1/шара1"
set myMountString2 to "smb:// домен;логин:пароль @ сервер2/ шара2"
set myMountString3 to "afp:// домен;логин:пароль @сервер3/ шара3"
--set myMountString3 to "smb:// домен;логин:пароль @старый_сервер/шара"
set myMountString4 to "http:// домен;логин:пароль @сервер4/ шара4"
--set myMountString5 to "afp:// домен;логин:пароль @старый_сервер2/шара"

set myMountString6 to "smb:// домен;логин:пароль@сервер1/шара1-1"
set myMountString7 to "smb:// домен;логин:пароль @ сервер2/ шара2-1"
set myMountString8 to "afp:// домен;логин:пароль @сервер3/ шара3-1"
--set myMountString8 to "smb:// домен;логин:пароль @старый_сервер/шара-1"
set myMountString9 to "http:// домен;логин:пароль @сервер4/ шара4-1"
--set myMountString10 to "afp:// домен;логин:пароль @старый_сервер2/шара-1"

set myMountString11 to "smb:// домен;логин:пароль@сервер1/шара1-2"
set myMountString12 to "smb:// домен;логин:пароль @ сервер2/ шара2-2"
set myMountString13 to "afp:// домен;логин:пароль @сервер3/ шара3-2"
--set myMountString13 to "smb:// домен;логин:пароль @старый_сервер/шара-2"
set myMountString14 to "http:// домен;логин:пароль @сервер4/ шара4-2"
--set myMountString15 to "afp:// домен;логин:пароль @старый_сервер2/шара-2"

tell application "Finder"

repeat while (disk myVolumeLabel1 exists)
eject myVolumeLabel1
delay 1
end repeat

repeat while (disk myVolumeLabel2 exists)
eject myVolumeLabel2
delay 1
end repeat

repeat while (disk myVolumeLabel3 exists)
eject myVolumeLabel3
delay 1
end repeat

repeat while (disk myVolumeLabel4 exists)
eject myVolumeLabel4
delay 1
end repeat

-- repeat while (disk myvolumeLabel5 exists)
-- eject myvolumeLabel5
-- delay 1
-- end repeat

repeat while (disk myVolumeLabel6 exists)
eject myVolumeLabel6
delay 1
end repeat

repeat while (disk myVolumeLabel7 exists)
eject myVolumeLabel7
delay 1
end repeat

repeat while (disk myVolumeLabel8 exists)
eject myVolumeLabel8
delay 1
end repeat

repeat while (disk myVolumeLabel9 exists)
eject myVolumeLabel9
delay 1
end repeat

-- repeat while (disk myvolumeLabel10 exists)
-- eject myvolumeLabel10
-- delay 1
-- end repeat

repeat while (disk myVolumeLabel11 exists)
eject myVolumeLabel11
delay 1
end repeat

repeat while (disk myVolumeLabel12 exists)
eject myVolumeLabel12
delay 1
end repeat

repeat while (disk myVolumeLabel13 exists)
eject myVolumeLabel13
delay 1
end repeat

repeat while (disk myVolumeLabel14 exists)
eject myVolumeLabel14
delay 1
end repeat

-- repeat while (disk myvolumeLabel15 exists)
-- eject myvolumeLabel15
-- delay 1
-- end repeat

end tell

tell application "Finder"

mount volume myMountString1
mount volume myMountString2
mount volume myMountString3
mount volume myMountString4
-- mount volume myMountString5

end tell



однако недавно начались проблемы с одной из шар (пусть будет шара1), с ней периодически пропадает коннект и через какое-то время снова становится доступной. Перезапуск скрипта никак не помогает заного переподключить шару, приходится ручками искать подключённую шару и делать ей дисконнект.
Нельзя ли как-нибудь автоматизировать это?
Hisoka [26.09.2017 12:56] :
как идею, нашёл:
сидим, пингуем
пинг пропал, запускаем цикл восстановления:
пингуем до восстановления связи, потом под монтируем диск, перезапускаем программу, выходим из цикла восстановления
сидим, пингуем дальше.

кто может помочь со скриптом?
[Ответить]