如何检查是否安装了 chrome 个扩展

How to check if chrome extensions is installed

我需要检查 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}

它 returns 扩展就好了。 我需要设置条件来查找哪些扩展已安装,哪些未安装。

像这样:

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

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

我想我不能这么容易地将它转换成字符串。是否有其他方法可以确定“名称”是否包含特定字符串?

您可以这样查看name 属性:

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

您也可以用-match-contains查看。