我想检查一下我们域中的用户是否安装了某个Firefox插件。也许我们可以有一个脚本检查插件创建的文件夹是否存在。如果不向用户提出某种警报。
插件文件夹的示例如下。有随机生成的部分可能会使它更复杂。
C:\ Documents and Settings \ username \ Application Data \ Mozilla \ Firefox \ Profiles {random}。{profile name(“default”)} \ {random-id} @jetpack \ resources {same random-id} - 在-传送插座-pluginname数据\
答案 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):