Windows server 2016 не работает кнопка пуск

Skip to content

I’d been having some problems with the start menu in both Server 2016 and Windows 10 stopping working. Googling around revealed various posts and loads of the same advice on how to fix the problem. These included using the Deployment Image Servicing and Management tool with the /restorehealth switch;

DISM /Online /Cleanup-Image /RestoreHealth

Reinstalling all modern apps via PowerShell with the following command;

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Creating a new user account and just using that, not an option if the problem affects all accounts on the machine. The only one of the options mentioned that did help was to re-install Windows, this left the start menu working. However as soon as I domain joined the machine again, it stopped working again after a restart. This led me to look at Group Policy as a potential culprit, and sure enough, moving the object to a separate OU and blocking all policy on it left the start menu working. After a long process of linking policies in one by one I came down to a very specific registry setting.

I’d set the ACLs on a specific registry subkey of HKLM, in this case it was HKLM\Software\Microsoft\RPC. These ACLs were missing one specific entry, namely APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES.
Adding this in with only read permissions and forcing a policy update brought the start menu immediately back to life. That ACL is one that has appeared in Server 2012 I think, but since that particular part of our policy predates 2012 that ACL wasn’t there. Oddly enough I’ve not seen this cause any problems with Server 2012/2012 R2/Windows 8/8.1, only with Server 2016 & Windows 10.

So the take away from this is to make sure if you restrict any registry ACLs, make sure you include read access for APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES.

If all this was helpful and worked for you, please drop a quick note in the comments.



SysAdmin



Windows Server




712

В данной статье я расскажу, как решить проблему с кнопкой «Пуск» в Windows Server 2016, когда она перестает реагировать на левый клик мыши, хотя правый клик работает корректно, отображая контекстное меню. Эта неисправность часто возникает на серверах, где значки меню «Пуск» настраиваются через XML-файл, развернутый с помощью групповой политики.

Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.

Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.

Содержание:

  • Меню «Пуск» не реагирует в Windows Server 2016
  • Решение проблемы
  • Заключение

Меню «Пуск» не реагирует в Windows Server 2016

Эта проблема часто встречается на серверах под управлением Windows Server 2016. Несмотря на многочисленные попытки устранить неисправность, стандартные методы, такие как сброс профиля пользователя, не приводят к положительному результату. Она продолжает вызывать неудобства для администраторов и пользователей, затрудняя выполнение повседневных задач.

Решение проблемы: Пуск не отвечает в Windows Server 2016

Решение проблемы

Чтобы временно устранить проблему с неработающим меню «Пуск» в текущем сеансе пользователя, выполните следующую команду в PowerShell:


Get-AppXPackage | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}

После выполнения этой команды функциональность меню «Пуск» должна восстановиться. Однако имейте в виду, что проблема может повториться через некоторое время, например, на следующий день.

Для постоянного исправления проблемы выполните следующие действия от имени администратора:

Важно: Рекомендуется создать резервную копию реестра перед внесением изменений, чтобы избежать непредвиденных последствий.

  1. Откройте PowerShell с правами администратора.
  2. Выполните следующую команду для удаления проблемного элемента реестра:

Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System"

  1. Затем создайте новый элемент с помощью следующей команды:

New-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System"

Эти изменения будут применены ко всем пользователям на сервере и должны устранить проблему с меню «Пуск» на постоянной основе.

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

Заключение

В заключение, проблема с неработающим меню «Пуск» в Windows Server 2016 может существенно повлиять на удобство работы пользователей и администраторов. Мы рассмотрели временные и постоянные способы устранения этой неисправности, включая команду PowerShell для быстрого восстановления функциональности и изменение параметров реестра для долговременного решения.

Регулярное обслуживание серверов, корректная настройка групповых политик и мониторинг состояния системы помогут избежать подобных проблем в будущем. Надеюсь, предложенные методы окажутся полезными и позволят вам вернуть стабильную работу ваших серверов.

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как проверить работоспособности Active Directory с помощью скрипта PowerShell.

Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в телеграмм, чтобы узнавать обо всем первым — t.me/SysAdminHub

Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:

Не работает меню пуск. При этом в журнале можно увидеть ошибки:

Application Error
Путь сбойного приложения: C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\ShellExperienceHost.exe

или

Сбой активации приложения Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI. Ошибка: Приложение не запустилось.. Дополнительные сведения см. в журнале Microsoft-Windows-TWinUI/Operational.

Пробовал множество способов, описанных в интернете, но ни один из них не помог. После чего успешно разработал свое решение, которое решило проблему. Когда мое решение в очередной раз помогло, решил его задокументировать.

Способ также применим к сценарию, когда само меню ПУСК работает, но не работает поиск в нем.

  • Конечно, первое, что следует сделать — это перезагрузиться. В ряде случаев достаточно этой простой рекомендации
  • Второй момент, если ПУСК не работает у всех пользователей, попробуйте перезапустить или отключить службу Брандмауэр Windows (подробности в конце статьи)
  • Если указанные способы не помогли, следуем дальнейшим рекомендациям.

За ПУСК и поиск в нем в Windows 10 отвечают два APPX пакета: Microsoft.Windows.Cortana_cw5n1h2txyewy и ShellExperienceHost_cw5n1h2txyewy- то есть отдельные приложения

Они располагаются по пути:

«профиль_пользователя\AppData\Local\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy»

«профиль_пользователя\AppData\Local\Packages\ShellExperienceHost_cw5n1h2txyewy»

Или здесь:

«C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy»

«C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy»

Обычно, если появилась такая проблема, то дата изменения какой-то из этих папок (или обеих) в профиле пользователя в папке Packages отличается от всех других (а те в свою очередь имеют одинаковую дату)

Кстати, при подобной проблеме, скорее всего, есть профили пользователей, у которых на данной рабочей станции ПУСК успешно открывается. Они-то нам и нужны! Либо можно попробовать создать новую учетную запись и осуществить первичный вход в систему с ее помощью и проверить работу меню ПУСК там. Если вы нашли пользователя с работающим меню ПУСК или он работает у вновь созданной учетной записи, переходим к дальнейшим действиям.

Все, что нам нужно сделать, это подменить в проблемном профиле папку «Microsoft.Windows.Cortana_cw5n1h2txyewy»
или «ShellExperienceHost_cw5n1h2txyewy» (или обе) по пути «…\AppData\Local\Packages»
Взять их можно:

  • либо из любого «рабочего» профиля
  • либо отсюда:

«C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy»

«C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy»

Старую папку переименовываем, новую копируем в наш проблемный профиль.

Если сделать это не удается (папка используется и т.п.), то нужно завершить сеанс пользователя и сделать эти действия из-под другой учетной записи. Если получается сделать прямо «на ходу» — замечательно.

Перезаходим в профиль — проблема должна быть решена!

UPDATE: после пары случаев поломки меню ПУСК на терминальной ферме с Windows Server 2016, когда вышеуказанный способ не сработал, было найдено еще одно решение по починке работоспособности ПУСКа. Необходимо перезапустить службу «Брандмауэр Windows» (для начала можно попробовать ее просто остановить, чтобы проверить, что дело в ней, но затем нужно ее снова запустить, т.к. без данной службы может не работать ряд фукнций)

A customer informed us that some users were getting a black screen after logon and others could not open the start menu after they got past the black screen. The customer restarted the RDS host but the issue was not resolved.

When checking the event logs I noticed system events with ID 10001 like the one below

This led me to think there was an issue with Appx and came across some material that suggested repairing Cortana. Trying to run the suggested PowerShell command failed and upon reviewing the AppPackage Log as suggested by the failure error I noticed that the package did not install because of insufficient resources. The system had only 6GB out of 128GB ram used and CPU (8 Cores) were at 2%

Searching further, I found this technet forum post in which the cause and solution are discussed.

Basically, every time a user logs into the RDS server, a new set of firewall rules is created and are not removed when the users log off, but new ones are re-created when they login again. This appears to happen most when using User Profile Disks (UPD). You may notice at this time that when trying to open WWindows Defender Firewall with Advanced Security to view the rules, the window would take a very long time to appear and end up in a “Not Responding” state.

This was resolved in Windows Server 2016 and 2019 by installing a Windows update, link for 2016 and 2019, and manually applying a registry key.

The updates were already installed so we proceeded to add the registry key as per below using Regedit.

Add “DeleteUserAppContainersOnLogoff” (DWORD) in “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy” and set it to 1. 

We logged off and logged back in and the Start menu was working again. All the other users also reported that this resolved the issue.

At this stage it is suggested that the previously created firewall rules are also deleted. These are the registry keys were the rules are stored.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules (Server 2016 and 2019)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\\RestrictedServices\AppIso\FirewallRules (Server 2019 only)

Instead of deleting the whole set of entries, we decided on taking another path and use the PowerShell script provided by user Paul Boerefijn CCS which removes the firewall rules and keeps a set of unique rules. The process was going to take over 15hrs to remove 12,000 inbound rules and we don’t know how long it was going to take to remove the outbound rules. So instead we used a different script found on stackoverflow which rather than using the “Remove-NetFirewallRule” PowerShell command it removed the rules directly from within the registry with the “Remove-ItemProperty” command which sped up the process and all 30,000 rules were deleted in 1.5Hrs. The script used is available below with some minor additions

NOTE Make sure that you change the Rule2 deletion line to match the correct registry path depending on which windows server version you are running it on. These are indicated in the script

#Script thanks to user js2010
#source https://stackoverflow.com/a/40915201
#added registry paths notes
$profiles = get-wmiobject -class win32_userprofile

Write-Host "Getting Firewall Rules"

# deleting rules with no owner would be disastrous
$Rules = Get-NetFirewallRule -All | 
  Where-Object {$profiles.sid -notcontains $_.owner -and $_.owner }

Write-Host "Getting Firewall Rules from ConfigurableServiceStore Store"

$rules2 = Get-NetFirewallRule -All -PolicyStore ConfigurableServiceStore | 
  Where-Object { $profiles.sid -notcontains $_.owner -and $_.owner }

$total = $rules.count + $rules2.count
Write-Host "Deleting" $total "Firewall Rules:" -ForegroundColor Green

$result = measure-command {

  # tracking
  $start = Get-Date; $i = 0.0 ; 
  
  foreach($rule in $rules){

    # action
    remove-itemproperty -path "HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" -name $rule.name

    # progress
    $i = $i + 1.0
    $prct = $i / $total * 100.0
    $elapsed = (Get-Date) - $start; 
    $totaltime = ($elapsed.TotalSeconds) / ($prct / 100.0)
    $remain = $totaltime - $elapsed.TotalSeconds
    $eta = (Get-Date).AddSeconds($remain)

    # display
    $prctnice = [math]::round($prct,2) 
    $elapsednice = $([string]::Format("{0:d2}:{1:d2}:{2:d2}", $elapsed.hours, $elapsed.minutes, $elapsed.seconds))
    $speed = $i/$elapsed.totalminutes
    $speednice = [math]::round($speed,2) 
    Write-Progress -Activity "Deleting rules ETA $eta elapsed $elapsednice loops/min $speednice" -Status "$prctnice" -PercentComplete $prct -secondsremaining $remain
  }


  # tracking
  # $start = Get-Date; $i = 0 ; $total = $rules2.Count

  foreach($rule2 in $rules2) {

    # action
#change path according to the Windows Server version used:
#Windows Server 2019 Path = "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules"
#Windows Server 2016 Path = "HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System"
    
    remove-itemproperty -path "HKLM:\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System" -name $rule2.name

    # progress
    $i = $i + 1.0
    $prct = $i / $total * 100.0
    $elapse = (Get-Date) - $start; 
    $totaltime = ($elapsed.TotalSeconds) / ($prct / 100.0)
    $remain = $totaltime - $elapsed.TotalSeconds
    $eta = (Get-Date).AddSeconds($remain)

    # display
    $prctnice = [math]::round($prct,2) 
    $elapsednice = $([string]::Format("{0:d2}:{1:d2}:{2:d2}", $elapsed.hours, $elapsed.minutes, $elapsed.seconds))
    $speed = $i/$elapsed.totalminutes
    $speednice = [math]::round($speed,2) 
    Write-Progress -Activity "Deleting rules2 ETA $eta elapsed $elapsednice loops/min $speednice" -Status "$prctnice" -PercentComplete $prct -secondsremaining $remain
  }
}

$end = get-date
write-host end $end 
write-host eta $eta

write-host $result.minutes min $result.seconds sec

Once the script completes, the rules are removed and you will notice that the Windows Defender Firewall with Advanced Security window would open normally.

Script Output

Both scripts catered to avoid deleting the rules which had no owner set in the properties. Deleting these rules could case problems.

The purpose of this blog post is to try and consolidate all the information we found to resolve the issue. A big thanks goes to all the contributors in the different forums.

Hope you find it useful.

By Brian Farrugia

I am the author of Phy2Vir.com. More info can be found on the about page.

На компьютерах с Windows 10 и Windows Server 2016, введенных в домен ActiveDirectory, не работает кнопка Пуск (Start). При нажатии на нее левой кнопкой мыши ничего не происходит, хотя при нажатии правой кнопкой выскакивает контекстное меню.

Причина кроется в групповых политиках AppLocker и Software Restriction Policy.

Как известно, Software Restriction Policy предназначены для использования на компьютерах с Windows Vista и более старыми ОС, а AppLocker — для Windows 7 и более новых.

Их совместная работа невозможна. При наличии любых правил AppLocker настройки Software Restriction Policy игнорируются — https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/applocker/use-applocker-and-software-restriction-policies-in-the-same-domain. Поэтому в организациях, где Software Restriction Policy используется уже много лет, AppLocker выключен.

Для того, чтобы меню Start работало нужно создать дефолтную политику AppLocker в ветке Packaged app Rules. В редакторе политик находим AppLocker, раскрываем его ветку, нажимаем правой кнопкой по ветке Packaged app Rules и кликаем Create Default Rules.

Дефолтная политика Packaged app Rules позволяет всем пользователям запускать любые подписанные (signed) приложения.

По всей видимости, таким нехитрым образом Microsoft стимулирует переход на AppLocker. Если вы продолжаете использовать Software Restriction Policy, то будете мучаться без кнопки Start.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Glabels программа для создания этикеток для windows
  • Как подключить блютуз мышку к компьютеру windows 10
  • Comodo free antivirus windows 7
  • Windows server 2012 rds cal user cal
  • Как запретить установку на диск с в windows 10