Здравствуйте, я пытаюсь понять, как запустить файл из сети, в основном он находится в \ 10.18.xx.xx \ installers \ install.bat, так что да, он запросит имя пользователя и пароль, когда я найду его вручную.
Какие коды я должен использовать в файле bat для запуска install.bat из определенной общей папки, определив, какая версия MS Outlook установлена на компьютере. Пример: MS Outlook - это 32-битная версия, тогда он запускает install.bat из 32-битной папки, а для MS Outlook 64-битной версии он запускает install.bat из 64-битной папки. TIA!
Извините за глупый вопрос, я новичок в пакетных командах. Компьютеры используют MS Outlook 2013. В любом случае я попытался сделать это и запустить этот файл bat с рабочего стола, и он закрывается сразу после запуска, как будто ничего не произошло.
CheckOS
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
:64BIT
\\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\64bit\install.bat -u
myuser -p mypass
GOTO END
:32BIT
\\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\32bit\install.bat -u
myuser -p mypass
GOTO END
:END
При отладке пакетных сценариев запускайте их не просто щелчком по значку, а из командной строки (cmd.exe
). В противном случае вы не увидите сообщений об ошибках. Теперь о реальных проблемах ...
Возможна такая ошибка:
UNC path are not supported. Defaulting to Windows directory.
Вы не можете ссылаться на общий ресурс с UNC-путем в .bat
пакетный скрипт. Параметры:
Переименуйте ваш скрипт как .cmd
чтобы включить поддержку UNC.
Использовать pushd
(и popd
) для временного подключения сетевого диска, например:
pushd \\10.18.xx.xx\Shared_Installers\PhishingOutlookPluginPH\64bit\
install.bat -u
popd
Вы не можете ввести логин и пароль с новой строки в скрипте! Параметры:
Подключите сетевой диск с net use
и укажите учетные данные в качестве параметров. Однако у вас не будет преимуществ использования pushd
или UNC, и в конечном итоге вы обнаружите пароль в своем скрипте.
На общей папке, содержащей только обновления программного обеспечения, нет ничего секретного. (Я верю твоему Shared_Installers
есть такая акция). Просто добавьте разрешения на чтение в все и проблема решена.
Просто намек ... С IF EXIST "%PROGRAMFILES(X86)%"
вы только проверяете, является ли ОС 64-битной. Это не может сказать вам, является ли установка Office 64-битной. В вашей среде это всегда может быть правдой, но не может быть обобщено. Также, иногда лучше использовать x86 Office даже на x64 OS.
Вы можете использовать значение Bitness
в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\XX.0\Outlook
(в XX
версия Office), чтобы определить установленную версию. Написание сценария должно быть простым, если у всех одинаковая основная версия, и возможно, даже если у них ее нет.