Это не ответ (я не могу оставлять комментарии), только несколько случайных идей могут быть полезны. К сожалению, я никогда не имел дело с Citrix, только с обычными серверами Windows.
_0. Убедитесь, что вы не являетесь жертвой брандмауэра Windows или любого другого персонального брандмауэра, который выборочно блокирует процессы.
Добавьте 10 минут Sleep () к первой строке вашего приложения .NET, затем запустите и файл VBScript, и ваше автономное приложение, запустите проводник процессов sysinternals и сравните 2 процесса.
_1. Та же вкладка, «командная строка» и «текущий каталог». Убедитесь, что они одинаковы.
_2. Вкладка «Окружающая среда». Убедитесь, что они одинаковы. Обычно дочерние процессы наследуют среду, но это поведение может быть легко изменено.
Следующая проверка необходима, если под «запустить мой скрипт» вы подразумеваете что-то еще, а затем дважды щелкните файл .VBS:
_3. Вкладка Изображение «Пользователь». Если они различаются - это может означать, что пользователь не имеет доступа к сети (например, localsystem), или пользовательский токен ограничен делегированием и, таким образом, может получать доступ только к локальным ресурсам (как в случае аутентификации IIS NTLM), или пользователь не имеет доступа к некоторым локальные файлы, которые он хочет.