我需要检查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
}
我想我不能轻易将其转换为字符串。是否有其他方法可以确定“名称”是否包含特定字符串?
答案 0 :(得分:1)
您可以通过以下方式检查name
属性:
if($extensions.name -like "NameOfPlugin")
{
#DO SOMETHING
}
您也可以使用-match
或-contains
进行检查。