Я пытаюсь развернуть и выполнить vbscript, опубликованный Microsoft (offscrub10.vbs) с целью удаления всех следов Office 2010 из системы. Когда я помещаю скрипт в 64-битную систему, для его запуска вызывается 32-битный cscript. Это приводит к сбою сценария при попытке проверить разрешения реестра.
Я могу сам повторить ошибку, пытаясь вручную запустить скрипт из системной или локальной учетной записи администратора и явно вызывая 32-битный cscript; и наоборот, если я просто запускаю "cscript" сам по себе, то 64-битная версия запускается и скрипт работает нормально. У меня также есть журналы ProcMon, которые показывают 64-битный cscript, вызываемый в командной строке, но в списке указана 32-битная версия в пути к исполняемому файлу процесса.
Как мне обойти это? Очевидно, что в скрипте есть какая-то логика, которая не нравится запускаться в 32-битном режиме на 64-битном ПК, но это скрипт от Microsoft, и я не хочу с ним возиться и ломать что-то еще.
Я использую KACE для развертывания, что, кажется, является проблемой, потому что локальный агент - это 32-битный процесс. Я настроил сценарий развертывания для явного вызова 64-битного cscript, обернул его в пакетный файл, сценарий PowerShell и попытался вызвать 64-битный cmd.exe для запуска cscript, но затем cmd.exe по умолчанию становится 32-битным и мы вернулись к чертежной доске.
Очевидно, что идеальное место, чтобы исправить это, было бы в самом vbscript или kbox, и я работаю над этим также с точки зрения KACE, но я пытаюсь охватить все мои базы здесь.