如何在用户登录时检查是否存在Firefox插件?

时间:2011-11-22 16:13:38

标签: firefox scripting powershell windows-xp

我想检查一下我们域中的用户是否安装了某个Firefox插件。也许我们可以有一个脚本检查插件创建的文件夹是否存在。如果不向用户提出某种警报。

插件文件夹的示例如下。有随机生成的部分可能会使它更复杂。

  

C:\ Documents and Settings \ username \ Application Data \ Mozilla \ Firefox \ Profiles {random}。{profile name(“default”)} \ {random-id} @jetpack \ resources {same random-id} - 在-传送插座-pluginname数据\


  1. 我对Windows脚本没有任何线索,这是我第一次考虑它
  2. 由于1,这个问题有点“请为我做”。

2 个答案:

答案 0 :(得分:1)

这可能吗?当然。我不确定最好的方法,但我会从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有一个错误对话框,有大量的样本。

祝你好运!

答案 1 :(得分:0)

以下是一些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):