I need to modify the preferences file for Chrome for users.
This is the wanted outcome:
This is what I have so far, but it's failing:
get-childitem -path "$env:systemdrive\Users" | foreach-object {
$path = "$env:systemdrive\Users\$_\appdata\local\google\chrome\user data\default\preferences"
if(test-path $path){
$prefs = get-content $path | convertfrom-json
if($prefs){
if(!($prefs.protocol_handler.excluded_schemes.alfaoffline.swe)){
$prefs.protocol_handler.excluded_schemes.alfaoffline | add-member -name "swe" -value false -MemberType NoteProperty #-Force
} else {
if(!($prefs.protocol_handler.excluded_schemes.alfaoffline.swe -match "false")){
write-host "Alfaoffline swe not set to false"
$prefs.protocol_handler.excluded_schemes.alfaoffline.swe = $prefs.protocol_handler.excluded_schemes.alfaoffline.swe + ":false"
} else {
write-host "alfaoffline already set to false, ignoring."
}
}
$prefs | convertto-json -depth 100 | out-file $path -encoding utf8
}
}
}
Error that I receive:
PS C:\WINDOWS\system32> C:\Temp\Chrome_Alfa.ps1
Add-Member : Cannot bind argument to parameter 'InputObject' because it is null.
At C:\Temp\Chrome_Alfa.ps1:11 char:64
+ ... faoffline | add-member -name "swe" -value false -MemberType NotePrope ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Add-Member], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.AddMemberCommand