mirror of
https://github.com/farag2/Sophia-Script-for-Windows.git
synced 2024-11-24 08:12:17 +02:00
Code refactoring
This commit is contained in:
parent
414bc2d59b
commit
2e6985700c
@ -572,22 +572,6 @@
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
@ -700,6 +684,25 @@
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "TaskbarCombine",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Always"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Full"
|
||||
},
|
||||
"Two": {
|
||||
"Tag": "Never"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "Zero"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "chk",
|
||||
@ -1106,22 +1109,6 @@
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
|
@ -608,6 +608,25 @@
|
||||
"LTSC2019": "true",
|
||||
"LTSC2021": "true"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "TaskbarCombine",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Always"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Full"
|
||||
},
|
||||
"Two": {
|
||||
"Tag": "Never"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "Zero"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
@ -986,24 +1005,6 @@
|
||||
"LTSC2019": "true",
|
||||
"LTSC2021": "true"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One",
|
||||
"LTSC2019": "true",
|
||||
"LTSC2021": "true"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
|
@ -591,22 +591,6 @@
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
@ -1029,22 +1013,6 @@
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
|
@ -611,23 +611,6 @@
|
||||
"WindowsDefault": "One",
|
||||
"LTSC2024": "true"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One",
|
||||
"LTSC2024": "true"
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Control": "cmb",
|
||||
@ -1045,23 +1028,6 @@
|
||||
"WindowsDefault": "One",
|
||||
"LTSC2024": "true"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
"Required": "false",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable"
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable"
|
||||
}
|
||||
},
|
||||
"Preset": "Zero",
|
||||
"WindowsDefault": "One",
|
||||
"LTSC2024": "true"
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Control": "cmb",
|
||||
|
@ -499,20 +499,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Ausblenden der Schaltfläche Copilot in der Taskleiste."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Zeigen Sie die Schaltfläche Copilot in der Taskleiste an (Standardeinstellung)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -611,6 +597,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskbarCombine",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Always",
|
||||
"ToolTip": "Kombinieren Sie Schaltflächen in der Taskleiste und blenden Sie Beschriftungen immer aus (Standardeinstellung)."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Full",
|
||||
"ToolTip": "Taskleistenschaltflächen zusammenfassen und Beschriftungen ausblenden, wenn die Taskleiste voll ist.."
|
||||
},
|
||||
"Two": {
|
||||
"Tag": "Never",
|
||||
"ToolTip": "Kombinieren Sie die Schaltflächen der Taskleiste und blenden Sie die Beschriftungen nicht aus.."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "UnpinTaskbarShortcuts -Shortcuts",
|
||||
@ -970,20 +974,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Aktiviert den Zugriff auf zugeordnete Laufwerke von einer Anwendung, die mit erweiterten Berechtigungen und aktiviertem Admin-Genehmigungsmodus ausgeführt wird."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Deaktiviert den Zugriff auf zugeordnete Laufwerke von Anwendungen, die mit erweiterten Berechtigungen und aktiviertem Admin-Genehmigungsmodus ausgeführt werden (Standardeinstellung)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -517,20 +517,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Ausblenden der Schaltfläche Copilot in der Taskleiste."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Zeigen Sie die Schaltfläche Copilot in der Taskleiste an (Standardeinstellung)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -918,20 +904,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Aktiviert den Zugriff auf zugeordnete Laufwerke von einer Anwendung, die mit erweiterten Berechtigungen und aktiviertem Admin-Genehmigungsmodus ausgeführt wird."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Deaktiviert den Zugriff auf zugeordnete Laufwerke von Anwendungen, die mit erweiterten Berechtigungen und aktiviertem Admin-Genehmigungsmodus ausgeführt werden (Standardeinstellung)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -499,20 +499,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Hide Copilot button on the taskbar."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Show Copilot button on the taskbar (default value)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -611,6 +597,20 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "SecondsInSystemClock",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Show seconds on the taskbar clock."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Hide seconds on the taskbar clock (default value)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "UnpinTaskbarShortcuts -Shortcuts",
|
||||
@ -970,20 +970,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -517,20 +517,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Hide Copilot button on the taskbar."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Show Copilot button on the taskbar (default value)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -918,20 +904,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -499,20 +499,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Скрыть кнопку Copilot с панели задач."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Отобразить кнопку Copilot на панели задач (значение по умолчанию)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -611,6 +597,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskbarCombine",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Always",
|
||||
"ToolTip": "Объединить кнопки панели задач и всегда скрывать метки (значение по умолчанию)."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Full",
|
||||
"ToolTip": "Объединить кнопки панели задач и скрывать метки при переполнении панели задач."
|
||||
},
|
||||
"Two": {
|
||||
"Tag": "Never",
|
||||
"ToolTip": "Объединить кнопки панели задач и никогда не скрывать метки."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "UnpinTaskbarShortcuts -Shortcuts",
|
||||
@ -970,20 +974,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -517,20 +517,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "CopilotButton",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Hide",
|
||||
"ToolTip": "Скрыть кнопку Copilot с панели задач."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Show",
|
||||
"ToolTip": "Отобразить кнопку Copilot на панели задач (значение по умолчанию)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "UI & Personalization",
|
||||
"Function": "TaskViewButton",
|
||||
@ -918,20 +904,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "MappedDrivesAppElevatedAccess",
|
||||
"Arg": {
|
||||
"Zero": {
|
||||
"Tag": "Enable",
|
||||
"ToolTip": "Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами."
|
||||
},
|
||||
"One": {
|
||||
"Tag": "Disable",
|
||||
"ToolTip": "Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)."
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"Region": "System",
|
||||
"Function": "DeliveryOptimization",
|
||||
|
@ -1330,8 +1330,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1411,11 +1410,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1884,22 +1883,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2159,22 +2155,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2796,22 +2789,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2855,6 +2845,11 @@ function FileExplorerRibbon
|
||||
$Minimized
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Expanded"
|
||||
@ -2914,6 +2909,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -3202,6 +3202,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3317,6 +3322,18 @@ function TaskbarSearch
|
||||
$SearchBox
|
||||
)
|
||||
|
||||
# Checking whether small taskbar buttons enabled
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$TaskbarSmallIcons = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSmallIcons", $null))
|
||||
if ($TaskbarSmallIcons -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3372,12 +3389,29 @@ function SearchHighlights
|
||||
$Show
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds\DSB -Name ShowDynamicContent -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\SearchSettings -Name IsDynamicSearchBoxEnabled -PropertyType DWord -Value 0 -Force
|
||||
# Checking whether "Web search in Windows Search" was disabled. It also disable Search Highlights automatically
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$DisableSearchBoxSuggestions = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", $null))
|
||||
if ($DisableSearchBoxSuggestions -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
else
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds\DSB -Name ShowDynamicContent -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\SearchSettings -Name IsDynamicSearchBoxEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
@ -3425,6 +3459,10 @@ function CortanaButton
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Type CLEAR
|
||||
|
||||
if (-not (Get-AppxPackage -Name Microsoft.549981C3F5F10))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
@ -3447,57 +3485,6 @@ function CortanaButton
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Hide
|
||||
Hide Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Show
|
||||
Show Copilot button on the taskbar
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Hide
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Show
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function CopilotButton
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Hide"
|
||||
)]
|
||||
[switch]
|
||||
$Hide,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Show"
|
||||
)]
|
||||
[switch]
|
||||
$Show
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Task view button on the taskbar
|
||||
@ -3590,7 +3577,11 @@ function NewsInterests
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name EnableFeeds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests" -Name value -Force -ErrorAction Ignore
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -3599,10 +3590,6 @@ function NewsInterests
|
||||
return
|
||||
}
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name EnableFeeds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests" -Name value -Force -ErrorAction Ignore
|
||||
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$MachineId = [Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient", "MachineId", $null)
|
||||
if (-not $MachineId)
|
||||
@ -3649,9 +3636,9 @@ public static extern int HashData(byte[] pbData, int cbData, byte[] piet, int ou
|
||||
# Get value to save in EnShellFeedsTaskbarViewMode key
|
||||
$DWordData = [System.BitConverter]::ToUInt32($bytesOut,0)
|
||||
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 2 -Force}
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 2 -Force}
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -3667,9 +3654,9 @@ public static extern int HashData(byte[] pbData, int cbData, byte[] piet, int ou
|
||||
# Get value to save in EnShellFeedsTaskbarViewMode key
|
||||
$DWordData = [System.BitConverter]::ToUInt32($bytesOut,0)
|
||||
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 0 -Force}
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 0 -Force}
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
}
|
||||
}
|
||||
|
||||
@ -3714,6 +3701,11 @@ function PeopleTaskbar
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3773,6 +3765,11 @@ function MeetNow
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3830,6 +3827,10 @@ function WindowsInkWorkspace
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace -Name AllowWindowsInkWorkspace -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3881,6 +3882,11 @@ function NotificationAreaIcons
|
||||
$Hide
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Show"
|
||||
@ -3945,6 +3951,79 @@ function SecondsInSystemClock
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Combine taskbar buttons and hide labels
|
||||
|
||||
.PARAMETER Always
|
||||
Combine taskbar buttons and always hide labels
|
||||
|
||||
.PARAMETER Full
|
||||
Combine taskbar buttons and hide labels when taskbar is full
|
||||
|
||||
.PARAMETER Never
|
||||
Combine taskbar buttons and never hide labels
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Always
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Full
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Never
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function TaskbarCombine
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Always"
|
||||
)]
|
||||
[switch]
|
||||
$Always,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Full"
|
||||
)]
|
||||
[switch]
|
||||
$Full,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Never"
|
||||
)]
|
||||
[switch]
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Unpin shortcuts from the taskbar
|
||||
@ -4067,32 +4146,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -4248,10 +4324,13 @@ function NewAppInstalledNotification
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4294,6 +4373,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4470,6 +4553,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4627,6 +4712,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -5033,7 +5123,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -5372,22 +5462,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -5716,57 +5803,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -6388,19 +6424,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -6452,18 +6498,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -9951,6 +9985,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9976,6 +10011,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10069,6 +10105,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10126,6 +10163,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10261,7 +10299,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -10270,6 +10308,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -10278,44 +10321,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -10330,6 +10361,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -10645,19 +10681,25 @@ function RecentlyAddedApps
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer))
|
||||
if (-not (Test-Path -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
New-Item -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -11669,22 +11711,19 @@ function CortanaAutostart
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
@ -12057,14 +12096,18 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -12492,14 +12535,18 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -12806,14 +12853,18 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -13197,7 +13248,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -14503,7 +14554,7 @@ function BitmapImageNewContext
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -14577,24 +14628,12 @@ function RichTextDocumentNewContext
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message $Localization.Patient -Verbose
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.WordPad*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -14752,7 +14791,7 @@ function UseStoreOpenWith
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -15078,11 +15117,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -442,14 +442,6 @@ CortanaButton -Hide
|
||||
# Показать кнопку Кортаны на панели задач (значение по умолчанию)
|
||||
# CortanaButton -Show
|
||||
|
||||
# Hide Copilot button on the taskbar
|
||||
# Скрыть кнопку Copilot с панели задач
|
||||
CopilotButton -Hide
|
||||
|
||||
# Show Copilot button on the taskbar (default value)
|
||||
# Отобразить кнопку Copilot на панели задач (значение по умолчанию)
|
||||
# CopilotButton -Show
|
||||
|
||||
# Hide the Task View button on the taskbar
|
||||
# Скрыть кнопку Просмотра задач
|
||||
TaskViewButton -Hide
|
||||
@ -506,6 +498,18 @@ SecondsInSystemClock -Show
|
||||
# Скрыть секунды в системных часах на панели задач (значение по умолчанию)
|
||||
# SecondsInSystemClock -Hide
|
||||
|
||||
# Combine taskbar buttons and always hide labels (default value)
|
||||
# Объединить кнопки панели задач и всегда скрывать метки (значение по умолчанию)
|
||||
TaskbarCombine -Always
|
||||
|
||||
# Combine taskbar buttons and hide labels when taskbar is full
|
||||
# Объединить кнопки панели задач и скрывать метки при переполнении панели задач
|
||||
# TaskbarCombine -Full
|
||||
|
||||
# Combine taskbar buttons and never hide labels
|
||||
# Объединить кнопки панели задач и никогда не скрывать метки
|
||||
# TaskbarCombine -Never
|
||||
|
||||
# Unpin the "Microsoft Edge", "Microsoft Store", or "Mail" shortcuts from the taskbar
|
||||
# Открепить ярлыки "Microsoft Edge", "Microsoft Store" или "Почта" от панели задач
|
||||
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail
|
||||
@ -704,14 +708,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1272,8 +1272,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1350,11 +1349,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,22 +1822,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2245,22 +2241,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2304,6 +2297,8 @@ function FileExplorerRibbon
|
||||
$Minimized
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Expanded"
|
||||
@ -2363,6 +2358,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -2651,6 +2651,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -2766,6 +2771,18 @@ function TaskbarSearch
|
||||
$SearchBox
|
||||
)
|
||||
|
||||
# Checking whether small taskbar buttons enabled
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$TaskbarSmallIcons = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSmallIcons", $null))
|
||||
if ($TaskbarSmallIcons -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -2872,6 +2889,11 @@ function PeopleTaskbar
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -2931,6 +2953,11 @@ function NotificationAreaIcons
|
||||
$Hide
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Show"
|
||||
@ -2995,6 +3022,79 @@ function SecondsInSystemClock
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Combine taskbar buttons and hide labels
|
||||
|
||||
.PARAMETER Always
|
||||
Combine taskbar buttons and always hide labels
|
||||
|
||||
.PARAMETER Full
|
||||
Combine taskbar buttons and hide labels when taskbar is full
|
||||
|
||||
.PARAMETER Never
|
||||
Combine taskbar buttons and never hide labels
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Always
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Full
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Never
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function TaskbarCombine
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Always"
|
||||
)]
|
||||
[switch]
|
||||
$Always,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Full"
|
||||
)]
|
||||
[switch]
|
||||
$Full,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Never"
|
||||
)]
|
||||
[switch]
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
The Control Panel icons view
|
||||
@ -3046,32 +3146,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -3176,10 +3273,13 @@ function NewAppInstalledNotification
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3222,6 +3322,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3398,6 +3502,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3910,7 +4016,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -3960,22 +4066,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -4304,57 +4407,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -4963,19 +5015,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -5027,18 +5089,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -8124,6 +8174,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8149,6 +8200,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8242,6 +8294,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8299,6 +8352,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8434,7 +8488,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -8443,6 +8497,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -8451,44 +8510,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -8503,6 +8550,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -8648,19 +8700,25 @@ function RecentlyAddedApps
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer))
|
||||
if (-not (Test-Path -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
New-Item -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -8828,14 +8886,18 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -9263,14 +9325,18 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -9577,14 +9643,18 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -9968,7 +10038,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -11089,7 +11159,7 @@ function BitmapImageNewContext
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -11163,24 +11233,12 @@ function RichTextDocumentNewContext
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message $Localization.Patient -Verbose
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.WordPad*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -11592,11 +11650,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -379,6 +379,18 @@ SecondsInSystemClock -Show
|
||||
# Скрыть секунды в системных часах на панели задач (значение по умолчанию)
|
||||
# SecondsInSystemClock -Hide
|
||||
|
||||
# Combine taskbar buttons and always hide labels (default value)
|
||||
# Объединить кнопки панели задач и всегда скрывать метки (значение по умолчанию)
|
||||
TaskbarCombine -Always
|
||||
|
||||
# Combine taskbar buttons and hide labels when taskbar is full
|
||||
# Объединить кнопки панели задач и скрывать метки при переполнении панели задач
|
||||
# TaskbarCombine -Full
|
||||
|
||||
# Combine taskbar buttons and never hide labels
|
||||
# Объединить кнопки панели задач и никогда не скрывать метки
|
||||
# TaskbarCombine -Never
|
||||
|
||||
# View the Control Panel icons by large icons
|
||||
# Просмотр иконок Панели управления как: крупные значки
|
||||
ControlPanelView -LargeIcons
|
||||
@ -543,14 +555,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1350,11 +1350,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,22 +1823,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -1882,22 +1879,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2468,22 +2462,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2527,6 +2518,8 @@ function FileExplorerRibbon
|
||||
$Minimized
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Expanded"
|
||||
@ -2586,6 +2579,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -2874,6 +2872,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -2989,6 +2992,18 @@ function TaskbarSearch
|
||||
$SearchBox
|
||||
)
|
||||
|
||||
# Checking whether small taskbar buttons enabled
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$TaskbarSmallIcons = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSmallIcons", $null))
|
||||
if ($TaskbarSmallIcons -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3095,6 +3110,11 @@ function PeopleTaskbar
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3154,6 +3174,10 @@ function WindowsInkWorkspace
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace -Name AllowWindowsInkWorkspace -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3205,6 +3229,11 @@ function NotificationAreaIcons
|
||||
$Hide
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Show"
|
||||
@ -3269,6 +3298,79 @@ function SecondsInSystemClock
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Combine taskbar buttons and hide labels
|
||||
|
||||
.PARAMETER Always
|
||||
Combine taskbar buttons and always hide labels
|
||||
|
||||
.PARAMETER Full
|
||||
Combine taskbar buttons and hide labels when taskbar is full
|
||||
|
||||
.PARAMETER Never
|
||||
Combine taskbar buttons and never hide labels
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Always
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Full
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Never
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function TaskbarCombine
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Always"
|
||||
)]
|
||||
[switch]
|
||||
$Always,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Full"
|
||||
)]
|
||||
[switch]
|
||||
$Full,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Never"
|
||||
)]
|
||||
[switch]
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
The Control Panel icons view
|
||||
@ -3320,32 +3422,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -3501,10 +3600,13 @@ function NewAppInstalledNotification
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3547,6 +3649,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3723,6 +3829,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3880,6 +3988,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -4286,7 +4399,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -4336,22 +4449,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -4680,57 +4790,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -5355,19 +5414,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -5419,18 +5488,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -8755,6 +8812,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8780,6 +8838,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8873,6 +8932,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -8930,6 +8990,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9065,7 +9126,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -9074,6 +9135,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -9082,44 +9148,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9134,6 +9188,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -9449,19 +9508,25 @@ function RecentlyAddedApps
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer))
|
||||
if (-not (Test-Path -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
New-Item -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9943,14 +10008,18 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -10378,14 +10447,18 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -10692,14 +10765,18 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -11083,7 +11160,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -12440,7 +12517,7 @@ function BitmapImageNewContext
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -12514,24 +12591,12 @@ function RichTextDocumentNewContext
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message $Localization.Patient -Verbose
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.WordPad*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -12943,11 +13008,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -419,6 +419,18 @@ SecondsInSystemClock -Show
|
||||
# Скрыть секунды в системных часах на панели задач (значение по умолчанию)
|
||||
# SecondsInSystemClock -Hide
|
||||
|
||||
# Combine taskbar buttons and always hide labels (default value)
|
||||
# Объединить кнопки панели задач и всегда скрывать метки (значение по умолчанию)
|
||||
TaskbarCombine -Always
|
||||
|
||||
# Combine taskbar buttons and hide labels when taskbar is full
|
||||
# Объединить кнопки панели задач и скрывать метки при переполнении панели задач
|
||||
# TaskbarCombine -Full
|
||||
|
||||
# Combine taskbar buttons and never hide labels
|
||||
# Объединить кнопки панели задач и никогда не скрывать метки
|
||||
# TaskbarCombine -Never
|
||||
|
||||
# View the Control Panel icons by large icons
|
||||
# Просмотр иконок Панели управления как: крупные значки
|
||||
ControlPanelView -LargeIcons
|
||||
@ -599,14 +611,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1348,8 +1348,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1429,11 +1428,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1902,22 +1901,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2177,22 +2173,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2814,22 +2807,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2873,6 +2863,8 @@ function FileExplorerRibbon
|
||||
$Minimized
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Expanded"
|
||||
@ -2932,6 +2924,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -3220,6 +3217,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3335,6 +3337,18 @@ function TaskbarSearch
|
||||
$SearchBox
|
||||
)
|
||||
|
||||
# Checking whether small taskbar buttons enabled
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$TaskbarSmallIcons = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSmallIcons", $null))
|
||||
if ($TaskbarSmallIcons -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3390,12 +3404,30 @@ function SearchHighlights
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds\DSB -Name ShowDynamicContent -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\SearchSettings -Name IsDynamicSearchBoxEnabled -PropertyType DWord -Value 0 -Force
|
||||
# Checking whether "Web search in Windows Search" was disabled. It also disable Search Highlights automatically
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$DisableSearchBoxSuggestions = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", $null))
|
||||
if ($DisableSearchBoxSuggestions -eq 1)
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
else
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds\DSB -Name ShowDynamicContent -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\SearchSettings -Name IsDynamicSearchBoxEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
@ -3443,6 +3475,10 @@ function CortanaButton
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Type CLEAR
|
||||
|
||||
if (-not (Get-AppxPackage -Name Microsoft.549981C3F5F10))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
@ -3465,57 +3501,6 @@ function CortanaButton
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Hide
|
||||
Hide Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Show
|
||||
Show Copilot button on the taskbar
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Hide
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Show
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function CopilotButton
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Hide"
|
||||
)]
|
||||
[switch]
|
||||
$Hide,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Show"
|
||||
)]
|
||||
[switch]
|
||||
$Show
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Task view button on the taskbar
|
||||
@ -3608,7 +3593,11 @@ function NewsInterests
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name EnableFeeds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests" -Name value -Force -ErrorAction Ignore
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -3617,10 +3606,6 @@ function NewsInterests
|
||||
return
|
||||
}
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds" -Name EnableFeeds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests" -Name value -Force -ErrorAction Ignore
|
||||
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$MachineId = [Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient", "MachineId", $null)
|
||||
if (-not $MachineId)
|
||||
@ -3667,9 +3652,9 @@ public static extern int HashData(byte[] pbData, int cbData, byte[] piet, int ou
|
||||
# Get value to save in EnShellFeedsTaskbarViewMode key
|
||||
$DWordData = [System.BitConverter]::ToUInt32($bytesOut,0)
|
||||
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 2 -Force}
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 2 -Force}
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -3685,9 +3670,9 @@ public static extern int HashData(byte[] pbData, int cbData, byte[] piet, int ou
|
||||
# Get value to save in EnShellFeedsTaskbarViewMode key
|
||||
$DWordData = [System.BitConverter]::ToUInt32($bytesOut,0)
|
||||
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 0 -Force}
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name ShellFeedsTaskbarViewMode -PropertyType DWord -Value 0 -Force}
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds -Name EnShellFeedsTaskbarViewMode -PropertyType DWord -Value $DWordData -Force}"
|
||||
}
|
||||
}
|
||||
|
||||
@ -3732,6 +3717,11 @@ function PeopleTaskbar
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HidePeopleBar -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3791,6 +3781,11 @@ function MeetNow
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3848,6 +3843,10 @@ function WindowsInkWorkspace
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace -Name AllowWindowsInkWorkspace -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name HideSCAMeetNow -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3899,6 +3898,11 @@ function NotificationAreaIcons
|
||||
$Hide
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoAutoTrayNotify -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Show"
|
||||
@ -3963,6 +3967,79 @@ function SecondsInSystemClock
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Combine taskbar buttons and hide labels
|
||||
|
||||
.PARAMETER Always
|
||||
Combine taskbar buttons and always hide labels
|
||||
|
||||
.PARAMETER Full
|
||||
Combine taskbar buttons and hide labels when taskbar is full
|
||||
|
||||
.PARAMETER Never
|
||||
Combine taskbar buttons and never hide labels
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Always
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Full
|
||||
|
||||
.EXAMPLE
|
||||
TaskbarCombine -Never
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function TaskbarCombine
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Always"
|
||||
)]
|
||||
[switch]
|
||||
$Always,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Full"
|
||||
)]
|
||||
[switch]
|
||||
$Full,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Never"
|
||||
)]
|
||||
[switch]
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Unpin shortcuts from the taskbar
|
||||
@ -4085,32 +4162,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -4266,10 +4340,13 @@ function NewAppInstalledNotification
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4312,6 +4389,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4488,6 +4569,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4645,6 +4728,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -5051,7 +5139,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -5392,22 +5480,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -5736,57 +5821,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -6408,19 +6442,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -6472,18 +6516,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -9971,6 +10003,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9996,6 +10029,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10089,6 +10123,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10146,6 +10181,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -10281,7 +10317,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -10290,6 +10326,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -10298,44 +10339,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -10350,6 +10379,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -10665,19 +10699,25 @@ function RecentlyAddedApps
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer))
|
||||
if (-not (Test-Path -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force
|
||||
New-Item -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -PropertyType DWord -Value 1 -Force
|
||||
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type DWORD -Value 1
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Type CLEAR
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -11699,22 +11739,19 @@ function CortanaAutostart
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
@ -12087,14 +12124,18 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -12522,14 +12563,18 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -12836,14 +12881,18 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -13227,7 +13276,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -14516,24 +14565,12 @@ function BitmapImageNewContext
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message $Localization.Patient -Verbose
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.MSPaint*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -14607,24 +14644,12 @@ function RichTextDocumentNewContext
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message $Localization.Patient -Verbose
|
||||
|
||||
Get-WindowsCapability -Online -Name "Microsoft.Windows.WordPad*" | Add-WindowsCapability -Online
|
||||
}
|
||||
catch [System.ComponentModel.Win32Exception]
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
@ -14782,7 +14807,7 @@ function UseStoreOpenWith
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -15108,11 +15133,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -446,14 +446,6 @@ CortanaButton -Hide
|
||||
# Показать кнопку Кортаны на панели задач (значение по умолчанию)
|
||||
# CortanaButton -Show
|
||||
|
||||
# Hide Copilot button on the taskbar
|
||||
# Скрыть кнопку Copilot с панели задач
|
||||
CopilotButton -Hide
|
||||
|
||||
# Show Copilot button on the taskbar (default value)
|
||||
# Отобразить кнопку Copilot на панели задач (значение по умолчанию)
|
||||
# CopilotButton -Show
|
||||
|
||||
# Hide the Task View button on the taskbar
|
||||
# Скрыть кнопку Просмотра задач
|
||||
TaskViewButton -Hide
|
||||
@ -510,6 +502,18 @@ SecondsInSystemClock -Show
|
||||
# Скрыть секунды в системных часах на панели задач (значение по умолчанию)
|
||||
# SecondsInSystemClock -Hide
|
||||
|
||||
# Combine taskbar buttons and always hide labels (default value)
|
||||
# Объединить кнопки панели задач и всегда скрывать метки (значение по умолчанию)
|
||||
TaskbarCombine -Always
|
||||
|
||||
# Combine taskbar buttons and hide labels when taskbar is full
|
||||
# Объединить кнопки панели задач и скрывать метки при переполнении панели задач
|
||||
# TaskbarCombine -Full
|
||||
|
||||
# Combine taskbar buttons and never hide labels
|
||||
# Объединить кнопки панели задач и никогда не скрывать метки
|
||||
# TaskbarCombine -Never
|
||||
|
||||
# Unpin the "Microsoft Edge", "Microsoft Store", or "Mail" shortcuts from the taskbar
|
||||
# Открепить ярлыки "Microsoft Edge", "Microsoft Store" или "Почта" от панели задач
|
||||
UnpinTaskbarShortcuts -Shortcuts Edge, Store, Mail
|
||||
@ -708,14 +712,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1304,8 +1304,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1385,11 +1384,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1864,22 +1863,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2139,22 +2135,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2878,22 +2871,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2937,6 +2927,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -2992,6 +2987,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3154,6 +3154,11 @@ function TaskbarWidgets
|
||||
return
|
||||
}
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests -Name value -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Dsh -Name AllowNewsAndInterests -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Dsh -Name AllowNewsAndInterests -Type CLEAR
|
||||
|
||||
# We cannot set a value to TaskbarDa, having called any of APIs, except of copying powershell.exe (or any other tricks) with a different name, due to a UCPD driver tracks all executables to block the access to the registry
|
||||
Copy-Item -Path "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -Destination "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Force
|
||||
|
||||
@ -3292,11 +3297,15 @@ function SearchHighlights
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" (Web) were disabled. They also disable Search Highlights automatically
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" were disabled. They also disable Search Highlights automatically
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$BingSearchEnabled = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search", "BingSearchEnabled", $null))
|
||||
$DisableSearchBoxSuggestions = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", $null))
|
||||
@ -3315,7 +3324,7 @@ function SearchHighlights
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
# Enable "Ask Copilot" and "Find results in Web" (Web) icons in Windows Search in order to enable Search Highlights
|
||||
# Enable "Ask Copilot" and "Find results in Web" icons in Windows Search in order to enable Search Highlights
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name DisableSearchBoxSuggestions -Force -ErrorAction Ignore
|
||||
|
||||
@ -3324,57 +3333,6 @@ function SearchHighlights
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Hide
|
||||
Hide Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Show
|
||||
Show Copilot button on the taskbar
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Hide
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Show
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function CopilotButton
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Hide"
|
||||
)]
|
||||
[switch]
|
||||
$Hide,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Show"
|
||||
)]
|
||||
[switch]
|
||||
$Show
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Task view button on the taskbar
|
||||
@ -3413,6 +3371,11 @@ function TaskViewButton
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3528,19 +3491,24 @@ function TaskbarCombine
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3711,32 +3679,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -3883,6 +3848,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3985,6 +3954,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4142,6 +4113,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -4548,7 +4524,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -4887,22 +4863,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -4946,21 +4919,20 @@ function StorageSenseTempFiles
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if ((Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01) -eq "1")
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 04 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if ((Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01) -eq "1")
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 04 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5231,57 +5203,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -5900,19 +5821,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -5964,18 +5895,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -9488,6 +9407,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9513,6 +9433,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9606,6 +9527,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9663,6 +9585,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9798,7 +9721,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -9807,6 +9730,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -9815,44 +9743,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9867,6 +9783,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -10767,22 +10688,19 @@ function CortanaAutostart
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
@ -11140,14 +11058,28 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -11575,14 +11507,28 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -11889,14 +11835,28 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -12280,7 +12240,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -13088,7 +13048,8 @@ function LocalSecurityAuthority
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Set-Policy -Scope Computer -Path Software\Policies\Microsoft\Windows\Explorer -Name RunAsPPL -Type CLEAR
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
@ -13120,7 +13081,6 @@ function LocalSecurityAuthority
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL, RunAsPPLBoot -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -13574,7 +13534,7 @@ function UseStoreOpenWith
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -14061,11 +14021,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -453,14 +453,6 @@ SearchHighlights -Hide
|
||||
# Показать главное в поиске (значение по умолчанию)
|
||||
# SearchHighlights -Show
|
||||
|
||||
# Hide Copilot button on the taskbar
|
||||
# Скрыть кнопку Copilot с панели задач
|
||||
CopilotButton -Hide
|
||||
|
||||
# Show Copilot button on the taskbar (default value)
|
||||
# Отобразить кнопку Copilot на панели задач (значение по умолчанию)
|
||||
# CopilotButton -Show
|
||||
|
||||
# Hide the Task view button from the taskbar
|
||||
# Скрыть кнопку "Представление задач" с панели задач
|
||||
TaskViewButton -Hide
|
||||
@ -679,14 +671,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1275,8 +1275,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1353,11 +1352,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1832,22 +1831,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2107,22 +2103,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2846,22 +2839,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2905,6 +2895,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -2960,6 +2955,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3195,11 +3195,15 @@ function SearchHighlights
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" (Web) were disabled. They also disable Search Highlights automatically
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" were disabled. They also disable Search Highlights automatically
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$BingSearchEnabled = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search", "BingSearchEnabled", $null))
|
||||
$DisableSearchBoxSuggestions = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", $null))
|
||||
@ -3218,7 +3222,7 @@ function SearchHighlights
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
# Enable "Ask Copilot" and "Find results in Web" (Web) icons in Windows Search in order to enable Search Highlights
|
||||
# Enable "Ask Copilot" and "Find results in Web" icons in Windows Search in order to enable Search Highlights
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name DisableSearchBoxSuggestions -Force -ErrorAction Ignore
|
||||
|
||||
@ -3227,57 +3231,6 @@ function SearchHighlights
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Hide
|
||||
Hide Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Show
|
||||
Show Copilot button on the taskbar
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Hide
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Show
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function CopilotButton
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Hide"
|
||||
)]
|
||||
[switch]
|
||||
$Hide,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Show"
|
||||
)]
|
||||
[switch]
|
||||
$Show
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Task view button on the taskbar
|
||||
@ -3316,6 +3269,11 @@ function TaskViewButton
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3431,19 +3389,24 @@ function TaskbarCombine
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3555,32 +3518,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -3727,6 +3687,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3829,6 +3793,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -3986,6 +3952,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -4392,7 +4363,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -4500,22 +4471,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -4844,57 +4812,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -5513,19 +5430,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -5577,18 +5504,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -9024,6 +8939,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9049,6 +8965,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9142,6 +9059,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9199,6 +9117,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9334,7 +9253,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -9343,6 +9262,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -9351,44 +9275,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9403,6 +9315,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -10432,14 +10349,28 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -10867,14 +10798,28 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled ###
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -11181,14 +11126,28 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -11572,7 +11531,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -12371,7 +12330,8 @@ function LocalSecurityAuthority
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Set-Policy -Scope Computer -Path Software\Policies\Microsoft\Windows\Explorer -Name RunAsPPL -Type CLEAR
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
@ -12403,7 +12363,6 @@ function LocalSecurityAuthority
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL, RunAsPPLBoot -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12979,11 +12938,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -443,14 +443,6 @@ SearchHighlights -Hide
|
||||
# Показать главное в поиске (значение по умолчанию)
|
||||
# SearchHighlights -Show
|
||||
|
||||
# Hide Copilot button on the taskbar
|
||||
# Скрыть кнопку Copilot с панели задач
|
||||
CopilotButton -Hide
|
||||
|
||||
# Show Copilot button on the taskbar (default value)
|
||||
# Отобразить кнопку Copilot на панели задач (значение по умолчанию)
|
||||
# CopilotButton -Show
|
||||
|
||||
# Hide the Task view button from the taskbar
|
||||
# Скрыть кнопку "Представление задач" с панели задач
|
||||
TaskViewButton -Hide
|
||||
@ -659,14 +651,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
@ -1322,8 +1322,7 @@ function ErrorReporting
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting", "HKCU:\Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
Set-Policy -Scope User -Path "Software\Policies\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Type CLEAR
|
||||
|
||||
@ -1403,11 +1402,11 @@ function FeedbackFrequency
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -PropertyType DWord -Value 0 -Force
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction Ignore
|
||||
}
|
||||
"Automatically"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds, NumberOfSIUFInPeriod -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1882,22 +1881,19 @@ function AdvertisingID
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo -Name DisabledByGroupPolicy -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DisabledByGroupPolicy -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2157,22 +2153,19 @@ function WhatsNewInWindows
|
||||
$Enable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement -Name ScoobeSystemSettingEnabled -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
@ -2896,22 +2889,19 @@ function FileTransferDialog
|
||||
$Compact
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Detailed"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Compact"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -2955,6 +2945,11 @@ function RecycleBinDeleteConfirmation
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name ConfirmFileDelete -Type CLEAR
|
||||
|
||||
$ShellState = Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShellState
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -3010,6 +3005,11 @@ function QuickAccessRecentFiles
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoRecentDocsHistory -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
Set-Policy -Scope User -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoRecentDocsHistory -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3172,6 +3172,11 @@ function TaskbarWidgets
|
||||
return
|
||||
}
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests -Name value -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Dsh -Name AllowNewsAndInterests -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Dsh -Name AllowNewsAndInterests -Type CLEAR
|
||||
|
||||
# We cannot set a value to TaskbarDa, having called any of APIs, except of copying powershell.exe (or any other tricks) with a different name, due to a UCPD driver tracks all executables to block the access to the registry
|
||||
Copy-Item -Path "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -Destination "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Force
|
||||
|
||||
@ -3310,11 +3315,15 @@ function SearchHighlights
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path "SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name EnableDynamicContentInWSB -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" (Web) were disabled. They also disable Search Highlights automatically
|
||||
# Checking whether "Ask Copilot" and "Find results in Web" were disabled. They also disable Search Highlights automatically
|
||||
# Due to "Set-StrictMode -Version Latest" we have to use GetValue()
|
||||
$BingSearchEnabled = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search", "BingSearchEnabled", $null))
|
||||
$DisableSearchBoxSuggestions = ([Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", $null))
|
||||
@ -3333,7 +3342,7 @@ function SearchHighlights
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
# Enable "Ask Copilot" and "Find results in Web" (Web) icons in Windows Search in order to enable Search Highlights
|
||||
# Enable "Ask Copilot" and "Find results in Web" icons in Windows Search in order to enable Search Highlights
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer -Name DisableSearchBoxSuggestions -Force -ErrorAction Ignore
|
||||
|
||||
@ -3342,57 +3351,6 @@ function SearchHighlights
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Hide
|
||||
Hide Copilot button on the taskbar
|
||||
|
||||
.PARAMETER Show
|
||||
Show Copilot button on the taskbar
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Hide
|
||||
|
||||
.EXAMPLE
|
||||
CopilotButton -Show
|
||||
|
||||
.NOTES
|
||||
Current user
|
||||
#>
|
||||
function CopilotButton
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Hide"
|
||||
)]
|
||||
[switch]
|
||||
$Hide,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Show"
|
||||
)]
|
||||
[switch]
|
||||
$Show
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Show"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowCopilotButton -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Task view button on the taskbar
|
||||
@ -3431,6 +3389,11 @@ function TaskViewButton
|
||||
$Show
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideTaskViewButton -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Hide"
|
||||
@ -3546,19 +3509,24 @@ function TaskbarCombine
|
||||
$Never
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name NoTaskGrouping -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Always"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Full"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Never"
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name taskbarGlomLevel -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name TaskbarGlomLevel -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3729,32 +3697,29 @@ function ControlPanelView
|
||||
$SmallIcons
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ForceClassicControlPanel -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Category"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"LargeIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 0 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"SmallIcons"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -PropertyType DWord -Value 1 -Force
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
@ -3901,6 +3866,10 @@ function FirstLogonAnimation
|
||||
$Enable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4003,6 +3972,8 @@ function ShortcutsSuffix
|
||||
$Enable
|
||||
)
|
||||
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Force -ErrorAction Ignore
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
@ -4160,6 +4131,11 @@ function AeroShaking
|
||||
$Disable
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Software\Policies\Microsoft\Windows\Explorer -Name NoWindowMinimizingShortcuts -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
@ -4566,7 +4542,7 @@ function NavigationPaneExpand
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Force -ErrorAction Ignore
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
@ -4907,22 +4883,19 @@ function StorageSense
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy))
|
||||
{
|
||||
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -ItemType Directory -Force
|
||||
}
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@ -5251,57 +5224,6 @@ function AdminApprovalMode
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Enable
|
||||
Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.PARAMETER Disable
|
||||
Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
.EXAMPLE
|
||||
MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
.NOTES
|
||||
Machine-wide
|
||||
#>
|
||||
function MappedDrivesAppElevatedAccess
|
||||
{
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Enable"
|
||||
)]
|
||||
[switch]
|
||||
$Enable,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
ParameterSetName = "Disable"
|
||||
)]
|
||||
[switch]
|
||||
$Disable
|
||||
)
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Enable"
|
||||
{
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Delivery Optimization
|
||||
@ -5920,19 +5842,29 @@ function WindowsCapabilities
|
||||
|
||||
function InstallButton
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
try
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
# Extract the localized "Please wait..." string from shell32.dll
|
||||
Write-Verbose -Message ([WinAPI.GetStrings]::GetString(12612)) -Verbose
|
||||
|
||||
[void]$Window.Close()
|
||||
|
||||
$SelectedCapabilities | ForEach-Object -Process {Write-Verbose -Message $_.DisplayName -Verbose}
|
||||
$SelectedCapabilities | Where-Object -FilterScript {$_.Name -in ((Get-WindowsCapability -Online).Name)} | Add-WindowsCapability -Online
|
||||
|
||||
if ([string]$SelectedCapabilities.Name -match "Browser.InternetExplorer")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
}
|
||||
catch [System.Runtime.InteropServices.COMException]
|
||||
{
|
||||
Write-Warning -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice")
|
||||
Write-Error -Message ($Localization.NoResponse -f "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice") -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Error -Message ($Localization.RestartFunction -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
@ -5984,18 +5916,6 @@ function WindowsCapabilities
|
||||
{
|
||||
try
|
||||
{
|
||||
# Check the internet connection
|
||||
$Parameters = @{
|
||||
Name = "dns.msftncsi.com"
|
||||
Server = "1.1.1.1"
|
||||
DnsOnly = $true
|
||||
ErrorAction = "Stop"
|
||||
}
|
||||
if ((Resolve-DnsName @Parameters).IPAddress -notcontains "131.107.255.255")
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
$State = "NotPresent"
|
||||
$ButtonContent = $Localization.Install
|
||||
$ButtonAdd_Click = {InstallButton}
|
||||
@ -9508,6 +9428,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x86" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x86.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9533,6 +9454,7 @@ function InstallVCRedist
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Visual C++ Redistributable x64" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\VC_redist.x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9626,6 +9548,7 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
|
||||
@ -9683,8 +9606,10 @@ function InstallDotNetRuntimes
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ".NET $LatestRelease" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Start-Process -FilePath "$DownloadsFolder\dotnet-runtime-$LatestRelease-win-x64.exe" -ArgumentList "/install /passive /norestart" -Wait
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
# PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word
|
||||
# https://github.com/PowerShell/PowerShell/issues/21070
|
||||
@ -9818,7 +9743,7 @@ function PreventEdgeShortcutCreation
|
||||
$Disable
|
||||
)
|
||||
|
||||
if (-not (Get-Package -Name "Microsoft Edge Update" -ProviderName Programs -ErrorAction Ignore))
|
||||
if (-not (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore))
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
@ -9827,6 +9752,11 @@ function PreventEdgeShortcutCreation
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
|
||||
foreach ($Channel in $Channels)
|
||||
{
|
||||
switch ($Channel)
|
||||
@ -9835,44 +9765,32 @@ function PreventEdgeShortcutCreation
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Beta
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Beta" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Dev
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Dev" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
Canary
|
||||
{
|
||||
if (Get-Package -Name "Microsoft Edge Canary" -ProviderName Programs -ErrorAction Ignore)
|
||||
{
|
||||
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate))
|
||||
{
|
||||
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Force
|
||||
}
|
||||
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -PropertyType DWord -Value 0 -Force
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type DWORD -Value 3
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9887,6 +9805,11 @@ function PreventEdgeShortcutCreation
|
||||
"CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}"
|
||||
)
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate -Name $Names -Force -ErrorAction Ignore
|
||||
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{0D50BFEC-CD6A-4F9A-964C-C7416E3ACB10}" -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\EdgeUpdate -Name "CreateDesktopShortcut{65C35B14-6C1D-4122-AC46-7148CC9D6497}" -Type CLEAR
|
||||
}
|
||||
}
|
||||
|
||||
@ -10797,22 +10720,19 @@ function CortanaAutostart
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
"Disable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
"Enable"
|
||||
{
|
||||
if (-not (Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId"))
|
||||
{
|
||||
New-Item -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Force
|
||||
}
|
||||
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\Microsoft.549981C3F5F10_8wekyb3d8bbwe\CortanaStartupId" -Name State -PropertyType DWord -Value 2 -Force
|
||||
}
|
||||
}
|
||||
@ -11170,14 +11090,28 @@ function CleanupTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName "Windows Cleanup" -ErrorAction Ignore)
|
||||
@ -11605,14 +11539,28 @@ function SoftwareDistributionTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName SoftwareDistribution -ErrorAction Ignore)
|
||||
@ -11919,14 +11867,28 @@ function TempTask
|
||||
{
|
||||
"Register"
|
||||
{
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Remove registry keys if Windows Script Host is disabled
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\Software\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Script Host\Settings", "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Force -ErrorAction Ignore
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Checking whether VBS engine is enabled
|
||||
if ((Get-WindowsCapability -Online -Name VBSCRIPT*).State -ne "Installed")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -Verbose
|
||||
Write-Error -Message ($Localization.Skipped -f $MyInvocation.Line.Trim()) -ErrorAction SilentlyContinue
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
# Checking if we're trying to create the task when it was already created as another user
|
||||
if (Get-ScheduledTask -TaskPath "\Sophia\" -TaskName Temp -ErrorAction Ignore)
|
||||
@ -12309,7 +12271,7 @@ function PUAppsDetection
|
||||
"Enable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Enabled
|
||||
}
|
||||
}
|
||||
"Disable"
|
||||
{
|
||||
Set-MpPreference -PUAProtection Disabled
|
||||
@ -13117,7 +13079,8 @@ function LocalSecurityAuthority
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Set-Policy -Scope Computer -Path Software\Policies\Microsoft\Windows\Explorer -Name RunAsPPL -Type CLEAR
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
{
|
||||
@ -13149,7 +13112,6 @@ function LocalSecurityAuthority
|
||||
"Disable"
|
||||
{
|
||||
Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL, RunAsPPLBoot -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\System -Name RunAsPPL -Force -ErrorAction Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -13603,7 +13565,7 @@ function UseStoreOpenWith
|
||||
)
|
||||
|
||||
# Remove all policies in order to make changes visible in UI only if it's possible
|
||||
Remove-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Type CLEAR
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName)
|
||||
@ -14090,11 +14052,15 @@ public static void PostMessage()
|
||||
|
||||
#region Toast notifications
|
||||
# Persist Sophia notifications to prevent to immediately disappear from Action Center
|
||||
# Remove registry keys if notifications and Action Center are disabled
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
# Enable notifications in Action Center
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia))
|
||||
{
|
||||
|
@ -457,14 +457,6 @@ SearchHighlights -Hide
|
||||
# Показать главное в поиске (значение по умолчанию)
|
||||
# SearchHighlights -Show
|
||||
|
||||
# Hide Copilot button on the taskbar
|
||||
# Скрыть кнопку Copilot с панели задач
|
||||
CopilotButton -Hide
|
||||
|
||||
# Show Copilot button on the taskbar (default value)
|
||||
# Отобразить кнопку Copilot на панели задач (значение по умолчанию)
|
||||
# CopilotButton -Show
|
||||
|
||||
# Hide the Task view button from the taskbar
|
||||
# Скрыть кнопку "Представление задач" с панели задач
|
||||
TaskViewButton -Hide
|
||||
@ -683,14 +675,6 @@ AdminApprovalMode -Never
|
||||
# Настройка уведомления об изменении параметров компьютера: уведомлять меня только при попытках приложений внести изменения в компьютер (значение по умолчанию)
|
||||
# AdminApprovalMode -Default
|
||||
|
||||
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
|
||||
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
|
||||
MappedDrivesAppElevatedAccess -Enable
|
||||
|
||||
# Turn off access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled (default value)
|
||||
# Выключить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами (значение по умолчанию)
|
||||
# MappedDrivesAppElevatedAccess -Disable
|
||||
|
||||
# Turn off Delivery Optimization
|
||||
# Выключить оптимизацию доставки
|
||||
DeliveryOptimization -Disable
|
||||
|
Loading…
Reference in New Issue
Block a user