ViPiC-Ru / env

JScript for adding temporary variables to environment variables. Which can then be used in calling other scripts and applications.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Скрипт не отрабатывает для ОС Windows 7

swarnk opened this issue · comments

Добрый день!
Спасибо за полезный инструмент. К сожалению для машин с ОС Win7 не отрабатывает. Просто завершается. Никакого вывода в консоль не наблюдается. Это ограничение скрипта или можно что-нибудь сделать?
Спасибо!

Привет. По умолчанию он данные на экран не выводит. Что бы вывести данные на экран добавь параметр cscript env.min.js ini. Он создаёт временные переменные, которые можно использовать в других скриптах. Например их можно посмотреть так cscript env.min.js cmd.exe /k set

Спасибо за ответ! Может быть не совсем корректно обрисовал ситуацию.
Если я делаю так:
cscript env.min.js \\ip.add.re.ss ini (для удаленного ПК с WIN10)
То все ок. В консоль выводится список переменных в ini формате
Но если я проделываю те же манипуляции для хоста с WIN7
cscript env.min.js \\another.ip.add.ress ini
никакого вывода в консоль нет...

Странно. У меня даже на Windows XP работало. Давай попробуем разобраться.

Если скрипт завершается без какой либо индикации ошибок, значит падения скрипта нет, исключительной ситуации в нём не происходит. Значит ему что-то не хватает.

  1. Корректно ли работает WMI на удалённой машине? Попробуй к этому ПК подключиться удалённо по WMI. Например с помощью https://github.com/vinaypamnani/wmie2/releases . И запросить данные из класса Win32_OperatingSystem в пространстве имён root\CIMV2. Звучит всё сложно, но через эту программу очень просто. Просто кликаешь на эти названия и всё. Я сам ей пользуюсь, очень удобно.
  2. Скрипт завершается быстро или что-то думает?
  3. Скорей всего проблема в правах или в сетевом экране. Попробуй временно приостановить сетевой экран на той машине с которой не получается данные получить.

Разобраться конечно стоит. Дело осложняется тем что домен достаточно крупной организации и у меня несколько связаны руки. Я поэкспериментирую в понедельник. WMI работает корректно, есть несколько батников, которые вытягивают через него информацию с удаленных машин.
Попробую подебажить с помощью susinternal-овского софта. Скрипт завершается быстро. Извини, что несколько сумбурно.... пятница.

P.S. если все работало даже на xp, да проблема конечно не в скрипте. Нужно пробовать, очень многие аспекты контролируются очень жёстко доменными политиками и AV софтом.

Скрипт env.min.js состоит из трёх частей. Общая библиотека, библиотека для wsh и сам скрипт. Можно прям в блокноте в файле env.min.js заменить всё что идёт со строки № 90 на всё что находится в файле env.js. Предварительно перед этим в файле env.js закомментировать (удалить) строки № 243 и 248. Тогда можно будет увидеть падение скрипта и увидеть ошибку что её вызывает.

Скрипт завершается быстро, значит проблема на этапе подключения. Такое впечатление что нет пространств имён root\directory\LDAP или root\Microsoft\Windows\Storage. Я их просто недавно добавлял. К сожалению у меня под рукой Windows 7 нет, только одни Windows 10. Оперативно проверить сложно. Попробую виртуалку установить посмотреть.

Проверил на виртуальной машине. Да, в Windows 7 оказалось нет пространства имён root\Microsoft\Windows\Storage, которое используется для определения типа носителя HDD, SDD и т.д.

Для поддержки старых операционных систем, добавил альтернативный вариант (который использовался ранее), определение типа из названия (по наличию ключевых фраз Solid, SSD и т.д.). Проверил, теперь всё работает, но для старых операционных систем тип носителя может определятся не совсем точно.

Выкатил новую версию v1.0.3. Тогда как проверишь у себя, отпишись.

Спасибо! Тесты уже только в понедельник.

Спасибо! Теперь работает и для WIN7.
Благодарю также за WMI Explorer.