Как при входе в систему проверить, существует ли плагин Firefox? - PullRequest
1 голос
/ 22 ноября 2011

Я хочу проверить, установлен ли у пользователей нашего домена определенный плагин Firefox.Возможно, у нас может быть скрипт, который проверяет, существуют ли папки, созданные плагином .А если нет, то подайте какое-то предупреждение пользователю.

Ниже приведен пример папки плагина.Есть случайно сгенерированные части, которые, вероятно, сделают его более сложным.

C: \ Documents and Settings \ имя пользователя \ Application Data \ Mozilla \ Firefox \ Profiles {random}. {Имя профиля («по умолчанию»))} \ {random-id} @jetpack \ resources {тот же random-id} -at-jetpack-pluginname-data \


  1. Я понятия не имею о сценариях Windows,я впервые думаю об этом
  2. Этот вопрос звучит как "пожалуйста, сделайте это для меня" из-за 1.

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Возможно ли это? Определенно. Я не уверен, что лучший метод, но я буду атаковать это с точки зрения PowerShell.

Может быть сложно использовать PowerShell, потому что вам нужно убедиться, что у всех установлен PowerShell. Если вы можете это проверить, это довольно простой запрос.

Использование

$firefoxfiles = Get-ChildItem -Path ($env:appdata + "\Mozilla\Firefox\Profiles") -Recurse

Это даст вам список всех файлов в этом каталоге ... рассматривайте весь код в этом ответе как пример, вам, безусловно, придется его изменить.

if (!($firefoxfiles | Where-Object {$_.Name -eq "PluginFileName"} ) {
...code for pop up...}

В PowerShell есть множество примеров для сообщения об ошибке.

Удачи!

0 голосов
/ 22 ноября 2011

Вот некоторый PowerShell, который будет искать в каталоге appdata все папки, содержащие это специальное имя плагина. В случае ошибки вы должны предупредить пользователя и заставить его взаимодействовать с предупреждением (Read-Host). Когда они продолжатся, вы можете запустить Firefox прямо на странице установщика.

if(-not(Get-ChildItem "$env:appdata\Mozilla\Firefox" -recurse -include "*@jetpack" | ?{ $_.PSIsContainer }))
{
    Read-Host "The Firefox 'jetpack' plugin was not found. You will be redirected to the plugin page now. Please install the 'jetpack' plugin. (press any key to continue)"
    & 'path\to\firefox.exe' 'http:\\path.to.plugin.com'
}

Вывод на консоль должен выглядеть примерно так:

The Firefox 'jetpack' plugin was not found. You will be redirected to the plugin page now. Please install the 'jetpack' plugin. (press any key to continue):
...