用于在chrome和edge中添加MyGlue扩展的本地组策略Powershell脚本

jecbmhm3  于 2023-02-12  发布在  Shell
关注(0)|答案(1)|浏览(205)
    • 我通过命令"安装模块名称策略文件编辑器"安装了模块策略文件编辑器

有没有一种方法,我可以写一个脚本使用这个模块,将添加MyGlue的收藏夹栏(与收藏夹栏总是显示)的Chrome和边缘**
我是通过LGPO完成的,但不是通过PowerShell脚本。
我们无法手动执行此操作,因为我们是MSP,我们需要通过RMM将此脚本推送到我们管理的所有工作站上
任何帮助都很感激
PS:这需要是LGPO的powershell脚本,因为工作站不在域中,而是在工作组中。
谢谢

umuewwlo

umuewwlo1#

我会这样做:

Write-host "Trusting PS Gallery"
Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted -ErrorAction Stop

Write-Host "Installing PolicyFileEditor"
Install-Module -Name PolicyFileEditor -Scope CurrentUser -ErrorAction Stop

Write-Host "Installing MyGlue Chrome Extension Add-On (set LGPO)"
$MachineDir = "$env:windir\system32\GroupPolicy\Machine\registry.pol"
$RegPath = 'SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist'
$RegData = 'bfcdaalpeodhimbiipneeaoeogkkminc;https://clients2.google.com/service/update2/crx'
$RegName = '1'
$RegType = 'ExpandString'
Set-PolicyFileEntry -Path $MachineDir -Key $RegPath -ValueName $RegName -Data $RegData -Type $RegType -ErrorAction Stop

Write-Host  "Updating LGPO w/o restart"
echo N | gpupdate.exe /target:Computer /force

但请确保值名称"1"不存在于其他加载项中,否则它将被覆盖。
你可以这样解决它:

$RegName = '1'
if ((Get-ItemProperty "HKLM:$RegPath").PSObject.Properties.Name -contains $RegName) { $RegName = '2' }
if ((Get-ItemProperty "HKLM:$RegPath").PSObject.Properties.Name -contains $RegName) { $RegName = '3' }
if ((Get-ItemProperty "HKLM:$RegPath").PSObject.Properties.Name -contains $RegName) { $RegName = '4' }

但这并不好,也许还有更好的解决办法:例如,使用RegEx或循环,其检查值名称并将下一个空闲的可用数字作为名称。
比如:$RegName = "Take the next available (not existing) number as name (string)"

相关问题