Я пишу сценарий VB для автоматического подключения сетевого диска для сетевого расположения, размещенного на нашем устройстве Synology NAS DS218j (если это важно) при каждом запуске компьютера.Я также хочу, чтобы пользователи вводили свои имя пользователя и пароль, если они запрашиваются устройством NAS.Проблема заключается в том, что профили пользователей NAS могут отличаться от профилей для Windows 10, поэтому каждый пользователь должен ввести свое имя пользователя и пароль при подключении к расположению устройства NAS (также при подключении сетевых дисков) в первый раз:
После первого успешного входа учетные данные могут быть сохранены.
Проблема заключается в следующем: Как попасть в это окно приглашения из VBScript?Я уже пытался сделать следующее:
Просто смонтировать диск: я получаю сообщение об ошибке, что имя пользователя и пароль недействительны (ясно, потому что он использует пароль профиля Windows):
Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
strDriveLetter = "T:"
strRemotePath = "\\192.168.2.247\BlaBla"
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
Чтобы поймать ошибку и сказать обозревателю открыть окно (чтобы имитировать поведение, что пользователь делает вручную, чтобы открыть окно входа в NAS):
If Err.Number <> 0 Then
WScript.Echo CStr(Err.Description)
If Err.Number = CLng("&H" & 80070056) Then
On Error Goto 0
Dim objShell
Set objShell = CreateObject("WScript.Shell")
Dim intReturn
Dim cmdString
cmdString = "Explorer.exe /n,/root," + strRemotePath
intReturn = objShell.Run(cmdString, 1, True)
Else
WScript.Quit
End If
End If
Что на самом деле делает, так это открываетПапка «Документы»!Он также не ждет закрытия окна (что я и ожидал сделать, передав третий аргумент True
команде objShell.Run
.
Я рассмотрел решение через IEНастраиваемое диалоговое окно, запрашивающее у пользователей их пароли, но проблема с этим подходом состоит в том, что в этом случае пользователи должны вводить свое имя пользователя и пароль каждый раз, когда они запускают / перезагружают его / ее ПК (без сохранения). Диалог, которыйWindows представляет, позволяет пользователям сохранить свой пароль в следующий раз.
Сохранение пользовательских паролей, которые я собираю из этого настраиваемого диалогового окна, не является решением, которое я ищу, потому что тогда у меня возникает проблема безопасности.
Есть идеи, как попасть в это окно входа в систему с помощью команд VBScript?