如何检查是否安装了Chrome扩展程序

时间:2020-08-10 11:57:02

标签: powershell google-chrome ps

我需要检查Chrome扩展程序是否通过Powershell安装。

我现在所拥有的是这个

function Get-ChromeExtension {
    param (
        [string]$ComputerName = $env:COMPUTERNAME
    )

    Get-ChildItem "\\$ComputerName\c$\users\*\appdata\local\Google\Chrome\User Data\Default\Extensions\*\*\manifest.json" -ErrorAction SilentlyContinue | % {
        $path = $_.FullName
        $_.FullName -match 'users\\(.*?)\\appdata' | Out-Null
        Get-Content $_.FullName -Raw | ConvertFrom-Json | select @{n='ComputerName';e={$ComputerName}}, @{n='User';e={$Matches[1]}}, Name, Version, @{n='Path';e={$path}}
    }
}

Get-ChromeExtension | ? name -notmatch '__msg_' | sort user, name, {[version]$_.version}

它返回扩展名就好。 而且,我需要做出条件来确定哪些扩展程序已安装和未安装。

类似这样的东西:

$extensions = Get-ChromeExtension | ? name -notmatch '__msg_' | sort user, name, {[version]$_.version}

if($extensions -like "NameOfPlugin")
{
   #DO SOMETHING
}

我想我不能轻易将其转换为字符串。是否有其他方法可以确定“名称”是否包含特定字符串?

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式检查name属性:

if($extensions.name -like "NameOfPlugin")
{
   #DO SOMETHING
}

您也可以使用-match-contains进行检查。