Запуск пакета из сценария входа не работает

Я надеюсь на помощь с проблемой, у меня есть запуск командного файла, вызванного из сценария входа в систему VBS. Я делаю это не часто.

Сценарий: скопируйте небольшой файл конфигурации для пользователей, принадлежащих к определенной группе AD, на свой локальный компьютер, в папку их программных файлов (x86) из каталога %logonserver%\sysvol\ad.company.org\scripts\companyname\ страна \ сайт; Кроме того, здесь находится сценарий входа в VBS (на самом деле, это часть сценария входа, но зависит от сайта и обрабатывает сопоставления дисков), а также файл конфигурации ASCII. Очень просто.

Тестирование для группы AD не является проблемой. Проблема в том, что у меня есть условие в сценарии VBS, который проверяет членство в группе, и если это правда, я использую Wscript.shell для запуска своего пакета, что является не более чем настройкой robocopy для копирования файла конфигурации на локальный ПК пользователя, но это не работает. Я могу вручную запустить пакет с компьютера тестового пользователя, нет проблем.

Мой VBScript выглядит следующим образом (обратите внимание, что ADHelper - это объект, используемый из основного сценария входа в систему, и я знаю, что он работает):

Call updatePTP

    Sub updatePTP

    dim objShell
    set objShell = CreateObject("WScript.Shell")

    If ADHelper.IsCurrentUserMember("AD_Group-Name") Then
     objShell.Run("%logonserver%\sysvol\ad.company.org\scripts\companyname\country\site\test.cmd")
    End If

    Set objShell = Nothing

End Sub

Я также пытался ссылаться на netlogon вместо sysvol


Моя партия выглядит так:

robocopy %source% %destination% %filename%

Я думаю, что это, вероятно, связано с тем, что я не совсем понимаю, о запуске пакета или программы с сервера входа в систему на ПК пользователя, но я взглянул на некоторые из старых сценариев, которые больше не находятся в используйте (но продолжайте, в любом случае), и я по сути подражаю тому, что нашел там... сами сценарии и пакеты достаточно просты для понимания.

Спасибо за понимание.

1 ответ

Попробуй это

Strlogonserver= CreateObject("WScript.Shell").ExpandEnvironmentStrings("%logonserver%")
If ADHelper.IsCurrentUserMember("AD_Group-Name") Then
     objShell.Run(Strlogonserver & "\sysvol\ad.company.org\scripts\companyname\country\site\test.cmd")
    End If

Вы не можете использовать системные переменные окружения в VB Strings. расширить их заранее

Другие вопросы по тегам