Как изменить значение регистра из предопределенного массива в powershell после тестирования пути реестра? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь оптимизировать IE11 для нашего приложения на пользователя в случае, если использование GP не разрешено.Я хочу оптимизировать эти настройки одним скриптом, чтобы он не занимал у меня много раз каждый раз, когда я получаю запрос.

Я пытался создать скрипт powershell, который сначала проверяет путь реестраключ.После этого он должен выдать сообщение об отмене или продолжении, а затем изменить значения.

Пока часть «test-path» работает, но на самом деле изменение значений не является.

$RegPaths = 
'HKCU:\Software\Microsoft\Internet Explorer\BrowserEmulation',
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap',
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1',
'HKCU:\Software\Microsoft\Internet Explorer\New Windows'

#Test-path $RegPaths

$RegEdit = 
{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet Explorer\BrowserEmulation' -name IntranetCompatibilityMode -value 0},
{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet Explorer\BrowserEmulation' -name MSCompatibilityModegpupd -value 0},
{Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap' -name AutoDetect -value 1},
{Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' -name 1001 -value 0},
{Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' -name 1004 -value 0},
{Set-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' -name 1201 -value 0},
{Set-ItemProperty -path 'HKCU:\Software\Microsoft\Internet Explorer\New Windows' -name PopupMgr -value 0}

#If (Test-path $RegPaths = True) 
#{write-host "Registry paths exist, continueing improving IE settings for ISCV client"}
#Foreach ($RegEdit) {if (Test-path $RegPaths -eq $True) {continue}}
#Else {write-host "Register path invalid or missing, canceling changes"}

If (( Test-Path $RegPaths) -eq $True) 
    {
        {write-host "Registry paths exist, continueing improving IE settings for ISCV client"}
        #{ForEach-object -process $RegEdit}
    Foreach ($RegEdit in $RegEdit)
        {start-job $RegEdit}
    }
Else
        {Write-Host " Path missing or invalid, cancel script"}

Параметр -process или start-job не изменяет значения, например, от 0 до 1, что ожидается.

Спасибо!

Обновление Спасибо за совет.Я пытался и заметил, что только строка «write-host» и первая строка set-itemproperty действительно работают, после того, как ничего не происходит, есть идеи, как и почему?

{write-host "Registry paths exist, continueing improving IE settings for 
client"}
    &{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet 
Explorer\BrowserEmulation' -name IntranetCompatibilityMode -value 0}
    &{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet 
Explorer\BrowserEmulation' -name MSCompatibilityModegpupd -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap' 
-name AutoDetect -value 1}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1001 -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1004 -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1201 -value 0}
    &{Set-ItemProperty -path 'HKCU:\Software\Microsoft\Internet Explorer\New 
Windows' -name PopupMgr -value 0}

Обновление вышеприведенное обновление работает, я не выгляжу хорошо.Спасибо!

1 Ответ

0 голосов
/ 28 мая 2019

этот код работает нормально для меня сейчас:

{write-host "Registry paths exist, continueing improving IE settings for 
client"}
    &{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet 
Explorer\BrowserEmulation' -name IntranetCompatibilityMode -value 0}
    &{Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Internet 
Explorer\BrowserEmulation' -name MSCompatibilityModegpupd -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap' 
-name AutoDetect -value 1}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1001 -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1004 -value 0}
    &{Set-ItemProperty -Path 
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1' 
-name 1201 -value 0}
    &{Set-ItemProperty -path 'HKCU:\Software\Microsoft\Internet Explorer\New 
Windows' -name PopupMgr -value 0}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...