Outlook периодически запрашивает пароль для подключения к Exchange

После регистрации домена организации в Microsoft 365, Outlook клиентов стал с завидной регулярностью запрашивать вход с учетной записью Microsoft, хотя организация использует собственный локальный Exchange On-Premises:

Screenshot 2020-12-05 190357.jpg

Для решения данной проблемы нужно добавить в реестр на затрагиваемых рабочих станциях следующий ключ:
в ветке HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover создаем ключ DWORD с именем ExcludeExplicitO365Endpoint и присваиваем значение 1

Также можно это сделать с помощью PowerShell:
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Outlook\AutoDiscover" -Name 'ExcludeExplicitO365Endpoint' -Value 1 -Type DWORD -Force

Массово на компьютеры распространить ключ можно с помощью групповых политик.

Проблема возникла на Outlook 2016 и Exchange 2016 при регистрации домена организации в Microsoft 365.

Статья по теме: https://docs.microsoft.com/ru-ru/outlook/troubleshoot/authentication/continually-prompts-password-of...

Не работает VPN в Windows Server 2016 Essentials

Настраивая "Повсеместный доступ" через Панель мониторинга Windows Server 2016 Essentials, включил возможность подключения по VPN, создал подключение на клиентском компьютере. Подключение прошло успешно, однако доступ к каким-либо ресурсам в удаленной сети не работал, пинги не работали.
Недолгое исследования показало, что клиентский компьютер не получает ip-адрес от сервера.
Было решено на сервере установить оснастку "Маршрутизация и удаленный доступ" и проверить настройки VPN, что я и сделал. Однако, оснастка выдала следующее - "На этом сервере отключен устаревший режим" и с помощью оснастки просмотреть и изменить настройки нельзя, нужно использовать PowerShell:

ess.png

Немного погуглив и поразмыслив, пришел к выводу, что скорее всего проблема в том, что RRAS почему-то не может арендовать ip для своих клиентов у DHCP роутера. Было решено назначить статический пул адресов для клиентов VPN, делается это следующей командой PowerShell:
Set-VpnIPAddressAssignment -IPAssignmentMethod "StaticPool" -IPAddressRange "192.168.10.200", "192.168.10.250" -PassThru
за -IPAddressRange указывается начальный и конечный ip-адреса нужного вам диапазона.

Выполнение указанной команды решило проблему, VPN-клиенты стали получать ip-адреса и доступ к ресурсам удаленной сети.

Чтобы вернуть обратно получение ip-адресов от DHCP нужно выполнить следующую команду:
Set-VpnIPAddressAssignment -IPAssignmentMethod "Dhcp" -PassThru
Если вы хотите получить доступ к настройкам все же через консоль "Маршрутизация и удаленный доступ", нужно удалить соответствующую роль и компоненты и установить их заново, но уже не через "Панель мониторинга" Essentials, а средствами сервера.


Полезные ссылки:

1) Нет доступа к ресурсам в сети Essentials VPN https://glennopedia.com/2017/08/24/why-i-am-unable-to-access-any-resources-on-my-essentials-vpn/
2) Переинсталляция роли RRAS https://glennopedia.com/2017/08/25/how-to-re-deploy-vpn-in-2016-essentials-in-legacy-mode/
3) Отключен устаревший режим в RRAS Essentials https://partnersupport.microsoft.com/en-us/par_servplat/forum/par_winserv/routing-and-remote-access-...
4) Legacy mode is disabled https://social.technet.microsoft.com/Forums/windows/en-US/261e12d2-2e3f-44e1-8dc3-a1a545be9851/rras-...

Как KB4045655 убило мой Exchange 2016

Была у меня задача обновить тривиальную инсталляцию Exchange 2016 CU5 до CU7. Один контроллер домена на отдельном сервере, один сервер Exchange, операционная система Windows Server 2016. CU7 установился без проблем, правда устанавливался около двух часов, несмотря на то, что использовались SSD-диски. Все тесты прошли успешно и с чувством глубокого удовлетворения я отправился спать. Просыпаюсь я утром, пробую войти в OWA - сайт недоступен... Запускаю Outlook - ошибка подключения... Захожу на сервер и наблюдаю такую картину - все службы Exchange остановлены и находятся в состоянии Disabled. Оба-на...
Смотрю журналы, что было ночью, и выясняется, что через Windows Update прилетело обновление Security Update For Exchange Server 2016 CU7 (KB4045655), его установка прошла неудачно.
Решил попробовать скачать обновление и установить вручную. Установка завершается неудачей, установщик сообщает, что изменений произведено не было.
Перевожу все необходимые службы Exchange в состояние Automatic, перезагружаю сервер, однако службы не стартуют - "The service did not respond to the start or control request in a timely fashion". Супер, отличный подарок на 23 февраля, я просто мечтал получить полностью нерабочий Exchange и провозиться с ним весь праздничный день :evil:  
Пробую установить обновление повторно - попытка также оканчивается неудачей, при этом установка прерывается на моменте "Stopping services".
Решаю погуглить и обнаруживаю, что проблема такая, оказывается, не у меня одного, и не только с этим обновлением  :D
Как выяснилось, причина неудачи установки обновления в том, что для остановки служб используется командлет Stop-SetupService, которого нет в системе по умолчанию. Наблюдать это можно открыв  C:\ExchangeSetupLogs\ServiceControl.log и обнаружив там сообщение об ошибке "The term 'Stop-SetupService' is not recognized as the name of a cmdlet, function, script file, or operable program."

2018-02-24_1433.png

Проблема решается путем добавления профиля PowerShell с ярлыком Stop-SetupService: New-Alias Stop-SetupService Stop-Service. После этого установка обновления проходит без проблем и после перезагрузки сервера все службы стартуют нормально и работа Exchange полностью восстанавливается. Фууух...  :)

Порядок действий следующий:

1. Переводим все необходимые службы Exchange в состояние Automatic согласно списку тут https://technet.microsoft.com/ru-ru/library/ee423542%28v=exchg.160%29.aspx?f=255&MSPPError=-..., а также службы IIS Admin Service, Microsoft Filtering Management Service и World Wide Web Publishing Service

2. Загружаем с сайта Microsoft вручную Security Update For Exchange Server 2016 CU7 (KB4045655), файл Exchange2016-KB4045655-x64-en.msp https://www.microsoft.com/en-US/download/details.aspx?id=56331

3. Создаем файл "profile.ps1" в каталоге "C:\Windows\System32\WindowsPowerShell\v1.0", содержащий следующую команду:

New-Alias Stop-SetupService Stop-Service

4. Запускаем командную строку с повышением (от имени администратора) и запускаем из нее обновление Exchange2016-KB4045655-x64-en.msp. Запуск с повышением нужен потому, что если так не сделать, то иногда случается, что после установки перестает работать OWA и ECP.

5. После успешной установки перезагружаем сервер по запросу инсталлятора и, вуаля, получем снова рабочий Exchange  8)


Вот такие сырые и не до конца отлаженные обновления могут иногда прилететь от Microsoft через Windows Update... Будьте внимательны и разворачивайте обновления и CU вначале в тестовой среде, и только потом в рабочей. Успехов!


Полезные ссылки:

1. Загрузка KB4045655, known issues https://support.microsoft.com/en-us/help/4045655/description-of-the-security-update-for-microsoft-ex...
2. Обзор служб Exchange 2016 https://technet.microsoft.com/ru-ru/library/ee423542%28v=exchg.160%29.aspx?f=255&MSPPError=-...
3. Решение аналогичной проблемы с KB4036108 https://social.technet.microsoft.com/Forums/en-US/5e6badad-6f5b-4f98-bd80-aa38eebfe0dd/kb4036108-pat...
4. Вариант решения проблемы https://info.summit7systems.com/blog/exchange-services-patch-fix-kb4045655
5. OWA и ECP не работают после установки KB4045655 https://www.server-essentials.com/support/articleid/167/owa-status-code-500-and-ecp-could-not-load-f...

Как удалить неудаляемую папку

Если вы столкнулись с проблемой удаления папки с компьютера под управлением Windows, при этот система выдает сообщение вроде "Не удалось найти элемент", "Папка не пуста" или вроде того, то может помочь следующий способ:

Берем архиватор, например, Winrar, и архивируем эту папку, при этом в свойствах указываем "Удалить файлы после упаковки". После архивации папка будет удалена, затем удаляем и полученный архив.

WinPower в журналах отображает неправильное время

Если отображаемое в журналах WinPower (утилита управления ИБП Ippon) время не соответствует системному, то, скорее всего, это происходит из-за того, что в составе Java, устанавливающейся вместе с этой утилитой, присутствуют устаревшие данные о часовых поясах.

Для того, чтобы исправить эту проблему, нужно обновить данные о часовых поясах с помощью Timezone Updater Tool.

1. Скачайте TZUpdater tool и распакуйте куда-либо, поместите файл tzupdater.jar из архива в  "C:\Program Files (x86)\MonitorSoftware\jre\bin" .
2. Запустите командную строку от имени администратора и перейдите в каталог  "C:\Program Files (x86)\MonitorSoftware\jre\bin" .
3. Запустите в командной строке команду java -jar tzupdater.jar -l
4. Перезапустите WinPower, время должно начать соответствовать системному.

Если затрагиваемая система не подключена к Интернету, то вначале надо скачать архив с новыми временными зонами, например, в папку C:\tz, а затем установить их командой java -jar tzupdater.jar -l file:///tz/tzdata-latest.tar.gz

WInPower

Ошибки event id 12292 и event id 22 при бэкапе Hyper-V

Такие ошибки при запуске бэкапа могут возникать по причине наличия остатков в реестре от VSS-провайдеров, которые ранее были удалены из системы.
В моем случае ошибки появлялись на хостовой машине Hyper-V на Windows Server 2008 R2 при запуске резервного копирования.
Запустив команду vssadmin list providers я увидел, какие VSS-провайдеры зарегистрированы у меня в системе, и сравнил их с PID-ами тех, которые были в ошибках. Выяснилось, что ошибки возникали в отношении провайдеров, которые мне были не нужны и которых я ранее удалил из системы.
Далее я удалил записи в реестре от этих провайдеров следующим образом:

1) Находим в реестре ключ  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Providers\]
2) На всякий случай создаем резервную копию этого ключа
3) Удаляем ключи с соответствующим PID
4) Перезапускаем службу "Microsoft Software Shadow Copy Provider"
5) Запускаем бэкап и смотрим на наличие ошибок. Если ошибки появились вновь, перезагружаем систему.

Все, после этого ошибки должны исчезнуть.

Не удается сжать vhdx-файл в Windows Server 2012

Начиная с Windows Server 2012 компания Microsoft изменила процедуру сжатия (compact) файлов виртуальных жестких дисков (vhdx) - перед сжатием такого файла нужно вначале присоединить (mount) его к системе в режиме "Только чтение" (Read-only), а потом уже выполнять процедуру сжатия. Затем файл нужно отсоединить (dismount).

Присоединить и отсоединить vhdx-файл можно как с помощью оснастки "Управление дисками" (Disk Management), так и с помощью PowerShell.

Присоединяем vhdx:

pic1.png


Ставим галку "Read-only" (Только чтение):

pic2.png

Сжимаем vhdx используя Edit Disk в консоли Hyper-V:

pic3.png

Отсоединяем vhdx с помощью оснастки "Управление дисками":

pic4.png


Для PowerShell набор команд будет выглядеть следующим образом (запускать PowrerShell нужно с повышением):
Mount-VHD -Path C:\VHD\disk.vhdx -ReadOnly 
Optimize-VHD -Path C:\VHD\disk.vhdx -Mode Quick 
Dismount-VHD C:\VHD\disk.vhdx
C:\VHD\disk.vhdx замените на путь к вашему vhdx-файлу.


Полезные ссылки:
Compacting a Dynamically Expanding virtual hard disk in Windows Server 2012

Замена сертификата RDP в Windows Server 2012 R2 для режима удаленного администрирования

В случае, если на сервере не установлены Службы удаленных рабочих столов, сертификат RDP можно изменить следующим образом:

1) Поместить сертификат в хранилище сертификатов локального компьютера в Личное:

cer1.png

2) Открыть сертификат, найти в свойствах его Отпечаток (Thumbprint), скопировать его, например, в Блокнот и удалить пробелы. Должно получиться что-то вроде ‎579a301318c5664f3b2bff0b88bf73d8bd2464dd.

3) Запустить PowerShell с правами администратора и выполнить следующие команды:
$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="ОТПЕЧАТОК"}
Соответственно нужно заменить ОТПЕЧАТОК на полученную последовательность из п.2

Как вариант можно использовать wmic через обычную командную строку:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="ОТПЕЧАТОК"

Полезная ссылка: Configure custom SSL certificate for RDP on Windows Server 2012 in Remote Administration mode

Панель мониторинга не запускается в Windows Server 2012 R2 Essentials

После перенастройки размещения CRL в Центре сертификации и перевыпуска сертификатов сервера перестала запускаться Панель мониторинга (Dashboard) роли Essentials Experience в Windows Server 2012 R2. При этом в Журнале приложений фиксировались следующие ошибки:
Event ID: 1026
Приложение: Dashboard.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProviderException

Event ID: 1000
Источник:      Application Error
Имя сбойного приложения: Dashboard.exe, версия: 6.3.9600.17393, метка времени: 0x54333ee9
Имя сбойного модуля: KERNELBASE.dll, версия: 6.3.9600.18007, метка времени: 0x55c4c341
Код исключения: 0xe0434352
Смещение ошибки: 0x000000000000871c
Идентификатор сбойного процесса: 0x6ec
Время запуска сбойного приложения: 0x01d15b3d5c8cdd17
Путь сбойного приложения: C:\Windows\system32\Essentials\Dashboard.exe
Путь сбойного модуля: C:\Windows\system32\KERNELBASE.dll

А в логе Панели мониторинга (C:\ProgramData\Microsoft\Windows Server\Logs\Dashboard.log) содержалось множество подобных сообщений:
[6636] 160130.223341.2577: PluginManager: Unable to retrieve digital certificate for C:\Windows\System32\Essentials\HEAddin.dll: Cannot find the requested object.
[6636] 160130.223341.2734: PluginManager: Unable to retrieve digital certificate for C:\Windows\System32\Essentials\OIMAddin.dll: Cannot find the requested object.
[6636] 160130.223341.2734: PluginManager: Unable to retrieve digital certificate for C:\Windows\System32\Essentials\GroupUIAddin.dll: Cannot find the requested object.

Для устранения проблемы необходимо запустить PowerShell с правами администратора и выполнить следующую команду:
Add-WssLocalMachineCert
Если выполнение команды завершится с ошибкой, необходимо перезагрузить сервер и снова запустить ее.


Полезные ссылки:
How to reinstall the CA role in Small Business Server 2011 Essentials
Windows Server Essentials Cmdlets in Windows PowerShell

FreeNAS/FreeBSD: как узнать имя usb-порта ИБП

При подключении источника бесперебойного питания к серверу FreeNAS  и настройке службы UPS встает вопрос, какой порт указывать в настройках, т.е. к какое имя порта, к которому подключен ИБП.
Для того, чтобы определить, к какому порту подключен ИБП, запустите командную строку (Shell) и выполните следующую команду:
 
dmesg | grep -i usbus
 
Результатом выполнения команды будет список usb-портов и устройств, которые к ним подключены:
 
[root@msk-nas1 ~]# dmesg | grep -i usbus                                                                                            
usbus0: EHCI version 1.0                                                                                                            
usbus0 on ehci0                                                                                                                     
usbus1 on uhci0                                                                                                                     
usbus2: EHCI version 1.0                                                                                                            
usbus2 on ehci1                                                                                                                     
usbus0: 480Mbps High Speed USB v2.0                                                                                                 
usbus1: 12Mbps Full Speed USB v1.0                                                                                                  
usbus2: 480Mbps High Speed USB v2.0                                                                                                 
ugen0.1: <Intel> at usbus0                                                                                                          
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0                                                            
ugen1.1: <0x103c> at usbus1                                                                                                         
uhub1: <0x103c UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1                                                           
ugen2.1: <Intel> at usbus2                                                                                                          
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2                                                            
ugen0.2: <vendor 0x8087> at usbus0                                                                                                  
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus0                                                   
ugen2.2: <vendor 0x8087> at usbus2                                                                                                  
uhub4: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus2                                                   
ugen2.3: <vendor 0x0424> at usbus2                                                                                                  
uhub5: <vendor 0x0424 product 0x2660, class 9/0, rev 2.00/8.01, addr 3> on usbus2                                                   
ugen0.3: <JetFlash> at usbus0                                                                                                       
umass0: <JetFlash Mass Storage Device, class 0/0, rev 2.10/10.75, addr 3> on usbus0                                                 
ugen0.4: <American Power Conversion> at usbus0 
 
Ищите в списке название бесперебойника или производителя, в моем случае это American Power Converion, и определяете порт - в моем случае это ugen0.4.
Указываете его в настройках:

ups.png

Не удается получить обновления с сервера WSUS 3.0, ошибка 800B0001

Ошибка 800B0001 при попытке проверки обновлений Windows как правило возникает по "криптографической" причине - проблемы с сертификатами или подписями файлов WSUS.

Проверьте, не установлено ли на клиентских компьютерах какое-либо криптографическое ПО, например, КриптоПРО. Возможно, причина будет именно в нем - удалите его или обновите до более новой версии. В моем случае проблема была вызвана КриптоПРО 3.6, помогло обновление до версии 3.9. Существует "Исправление для устранения проблем с Windows update для КриптоПро CSP 3.6, 3.6 R2 и 3.6 R3", но оно мне не помогло.

При использовании WSUS решить проблему с необновляющимися компьютерами, рапортующими об ошибке 8001B0001 при попытке поиска обновлений Windows, может также установка обновления KB2720211 https://support.microsoft.com/ru-ru/kb/2720211 и KB2734608 https://support.microsoft.com/ru-ru/kb/2734608 на сервере WSUS 3.0.

Если после установки указанных обновлений на клиентских компьютерах при поиске обновлений возникает ошибка 80244010, повторите поиск 2-3 раза, как правило, ошибка уходит. Подробнее об ошибке 80244010 тут.

Полезная ссылка: WSUS KB2720211 : Common issues encountered and how to fix them

Не удается удалить WSUS 3.0, ошибка 0x80070643

Если попытка удаления WSUS 3.0 завершается с ошибкой, то, возможно, поможет следующий способ:

1) Установите ключ реестра  HKLM\SOFTWARE\Microsoft\Update Services\Server\Setup\wYukonInstalled в значение 0 (ноль).
2) Удалите роль WSUS через Server Manager.
3) Удалите фичу Windows Internal Database (при необходимости).

Первый пункт сообщает инсталлятору WSUS, что база Windows Internal Database не установлена, в результате деинсталляция обычно проходит без проблем.
В пункте 3 удаляется база данных WSUS.
У меня проблема возникла на Windows Server 2008 R2.

SRMSVC Event ID 12306 - ошибка отправки уведомления о превышении квоты

Причиной ошибки отправки уведомления по электронной почте по квотам на папки или диски службой File Server Resource Manager может быть то, что у пользователя, который превысил квоту, в учетной записи в AD отсутствует e-mail. При этом в журнале сервера генерируется событие:
SRMSVC Event ID 12306,  Error-specific details: 
Error: IFsrmEmailExternal::SendMail, 0x8004531c, The parameter 'addresses' cannot be an empty string. 
Parameter name: addresses
В частности, при просмотре деталей события можно обнаружить, что квоту превышает учетная запись NT AUTHORITY\SYSTEM или подобная:

srmsvc.png

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

Не удается создать получающий соединитель в Exchange 2007 SP3

После установки SP3 на Exchange 2007 столкнулся с проблемой - при попытке создать новый получающий соединитель (коннектор) выводится сообщение об ошибке: Отклик Active Directory: 00000057: LdapErr: DSID-0C090C26, comment: Error in attribute conversion operation, data 0, vl 772.
Происходит это потому, что в SP3 используются новые атрибуты Active Directory (AD), а в схеме AD их еще нет. Для того, чтобы они появились, требуется обновить схему. Для обновления схемы требуется запустить из каталога с дистрибутивом SP3 следующую команду (из командной строки с административными привилегиями):
Setup.com /prepareschema
Схема обновляется некоторое время. После обновления схемы коннекторы начинают создаваться без проблем.

Это же решение исправляет проблему создания соединителей при использовании функции "Устранение проблем сети" Windows Small Business Server 2008.

Полезные ссылки:

1) Дистрибутив SP3 для Exchange 2007
2) Статья Microsoft на тему

Изменение размера текста в терминальном сеансе Windows Server 2008R2

Изменить размер текста и других элементов (dpi) на экране терминального сервера на базе Windows Server 2008 R2 возможно только при непосредственном входе на него. При этом даже если вы изменили размер для определенной учетки, то при удаленном входе через терминальную сессию отображаться всё равно всё будет в обычном режиме - изменения размера для терминальных сессий не происходит.

term1.png

Чтобы устранить эту досадную неприятность, специально для желающих менять dpi экрана в терминальных сессиях и на счастье бухгалтерам, работающим с 1С и плохо видящим мелкий шрифт, Microsoft выпустила хотфикс для решения этой проблемы :)
Найти этот хотфикс и скачать можно тут http://support.microsoft.com/kb/2726399
Данное решение подходит и при подключении к удаленному рабочему столу Windows 7.

Дополнение: Если какие-то элементы не изменяют размер, например, размер текста в некоторых элементах, проверьте, не установлены ли у вас параметры окон и других элементов, отличные от параметров по умолчанию, в "Изменение цветовой схемы -> Прочие".  

Настройка условной пересылки DNS-запросов в Mikrotik RouterOS

Чтобы настроить пересылку dns-запросов для определенного домена на определенный dns-сервер (Conditional DNS forwarding), можно использовать возможность инспектирования пакетов на Уровне 7 (Layer7 Protocols) в Firewall RouterOS.

Пример:

Имеем роутер MikroTik, версия RouterOS 6.27, ip-адрес dns-сервера на Микротике 192.168.15.1, требуется перенаправлять запросы для domain.local на dns-сервер домена Active Directory 192.168.55.2.

Для решения указанной задачи нужно выполнить в консоли RouterOS следующие команды:

/ip firewall layer7-protocol add name=domain.local regexp=domain.local
/ip firewall mangle add chain=prerouting dst-address=192.168.15.1 layer7-protocol=domain.local action=mark-connection new-connection-mark=domain.local-fwd protocol=tcp dst-port=53
/ip firewall mangle add chain=prerouting dst-address=192.168.15.1 layer7-protocol=domain.local action=mark-connection new-connection-mark=domain.local-fwd protocol=udp dst-port=53
/ip firewall nat add action=dst-nat chain=dstnat connection-mark=domain.local-fwd to-addresses=192.168.55.2
/ip firewall nat add action=masquerade chain=srcnat connection-mark=domain.local-fwd
Последнюю строку можно не добавлять, если у вас у вас уже есть каким либо образом настроенная маршрутизация пакетов в подсеть целевого dns-сервера.
Если нужно добавить еще домены, нужно выполнить аналогичный набор команд для каждого домена, заменив имя домена и адрес dns-сервера на соответствующие.

Ошибка 720 при попытке подключиться по VPN

После удаления одного знаменитого антивируса столкнулся с проблемой - перестали устанавливаться VPN-соединения с ошибкой 720: "Не удается подключится к удаленному компьютеру. Возможно потребуется изменение сетевой настройки подключения".
При этом в Диспетчере устройств можно было увидеть устройства "Мини-порт глобальной сети (IP)", "Мини-порт глобальной сети (IPv6)" и "Мини-порт глобальной сети (Сетевой монитор)" с желтым треугольником предупреждения о невозможности запуска с ошибкой 10.
Инициализация tcp/ip и winsock проблему не решила. В итоге проблему решил следующим образом:

1)  Заходим с Свойства этих нерабочих устройств и заменяем их драйвер на "Адаптер замыкания на себя Microsoft KM-TEST". Делается это через закладку Драйвер->Обновить->Выполнить поиск драйверов на этом компьютере->Снимаем галку "Только совместимые устройства" и выбираем указанный драйвер. На предупреждение не обращаем внимания. Нужно это для того, чтобы система позволила удалить эти устройства и переустановила их заново - без этого система удалить их не дает.
2) Удаляем все устройства, на которых заменили драйвер.
3) Делаем рескан железа (Обновить конфигурацию оборудования), система найдет удаленные устройства и установит нужные драйвера. У устройств при этом не должно уже быть значка предупреждения о неработоспособности.

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

Полезные ссылки по теме:

1) Ошибка 720 в Windows 8 и 8.1
2) Code 31 error in Device Manager for WAN Miniport (Network monitor) device in Windows 8 or Windows Server 2012

Не отрабатывает групповая политика с event id 1055 error code 1331

На одном из доменных компьютеров с Windows 7 столкнулся с проблемой - не применялась групповая политика компьютера, при этом в системном журнале компьютера регистрировалось событие с номером 1055:
Ошибка при обработке групповой политики. Не удалось разрешить имя компьютера. Возможные причины: 
a) Ошибка разрешения имен на текущем контроллере домена. 
b) Запаздывание репликации Active Directory (созданная на другом контроллере домена учетная запись еще не реплицирована на текущий контроллер домена).
При этом в Подробностях можно было видеть следующий дополнительный код ошибки:
ErrorCode 1331 
ErrorDescription Вход в систему не произведен: учетная запись в настоящее время отключена.  
На Технете существует статья по событию 1055, однако по ErrorCode 1331 там нет никакой информации.
Имена на контроллере домена разрешались нормально, dcdiag никаких ошибок не показывал, с репликацией проблем не было, sysvol была доступна с проблемного компа, учетная запись компьютера конечно же была включена.
При генерации Результирующей политики (RSoP) выдавалась следующая ошибка:
Инфраструктура групповой политики не удалось выполнить из-за указанной ниже ошибки.
Вход в систему не произведен: учетная запись в настоящее время отключена.
Примечание: из-за ошибки ядра групповой политики никакие другие компоненты групповой политики не выполнили обработку своей политики. Тем самым, информация о состоянии других компонентов недоступна.
В результате долгих раздумий и исканий выяснилось следующее - на компьютере под аккаунтом Локальная система (Local System аccount) были закэшированы реквизиты сторонней учетки для доступа к контроллеру домена. А именно от имени этого аккаунта идет обращение к КД для получения групповых политик компьютера. Т.е. при попытке получить групповые политики с контроллера домена обращение к нему шло от этой закэшированной учетки, которая действительно была отключена. Проблема решилась после удаления этой учетки из кэша, сделать это можно следующим образом:

1) С Технета качаем всем известный пакет  Sysinternals PSTools, из него нам потребуется утилита PsExec
2) Запускаем командную строку от имени администратора и выполняем в ней PsExec.exe -i -s cmd.exe, в результате запустится командная строка под системной учетной записью
3) В этой командной строке запускаем rundll32.exe keymgr.dll, KRShowKeyMgr, в результате откроется окно "Сохранение имен пользователей и паролей", в котором можно увидеть все закэшированные учетки под системной учетной записью:

event1055.png

4) Удаляем ненужные учетки. Прежде всего нужно обратить внимание на те, которые используются для авторизации на КД. В моем случае тут была только одна учетка.
5) Перезагружаем компьютер, проверяем, как отработалась политика компьютера, и наслаждаемся жизнью :)

Дополнение: ErrorCode 5 - решилась аналогичным образом.

Полезная ссылка: список кодов системных ошибок Windows

Проблема потери данных при изменении пути перенаправленной папки

При изменении пути перенаправленной папки через групповые политики на новый путь, при этом когда сами данные физически продолжают оставаться в том же самом месте (например, в случае использования нового пути DFS или кластера), можно столкнуться с тем, что все файлы из папки будут удалены.
Это может произойти тогда, когда в настройках перенаправления папки включен параметр "Move contents of ... to the new location" (Перенести содержимое ... в новое местоположение). Конечным действием операции переноса является удаление файлов из начального местоположения, но так как физически оно одно и тоже, происходит полное удаление всех файлов из перенаправленной папки.
Будьте внимательны в таких случаях! Не забывайте снимать указанную галку в настройках перенаправления папки, либо включите параметр групповой политики "Verify old and new Folder Redirection targets point to the same share before redirecting" (Проверить перед перенаправлением, указывают ли старый и новый конечный объект перенаправления папки на один общий ресурс). Этот параметр находится в Computer Configuration/Polices/Administrative templates/Windows Components/Windows Explorer. При включении этой политики, Windows перед переносом файлов определяет путем записи временного файла - в одно и то же физическое место хранения происходит перенаправление или нет. В случае обнаружения, что папка перемещается в одно и то же место, происходит только изменение пути без операции копирования и удаления файлов.

Полезная ссылка Interesting “Bug” in GroupPolicy Folder Redirection results in lost data

"Синхронизация ожидается" при использовании Автономных файлов на сетевой папке DFS

При использовании перенаправленных папок (redirected folders) на компьютерах с Windows 7, 8, Vista на сетевые ресурсы DFS с включенным использованием Автономных файлов (Offline files) столкнулся со следующей проблемой - при попытке синхронизировать автономные файлы через Центр синхронизации операция зависает в статусе "Синхронизация ожидается" (Sync pending) и так никогда и не происходит.
После изучения сайтов Microsoft с рекомендациями по настройке Автономных файлов и обзора зарубежного опыта отыскал таки проблему - для корректной работы синхронизации при использовании DFS в силу особенностей работы кэширования возможность использования Автономных файлов должна быть включена не только на уровне непосредственно Конечного объекта папки (Folder target), но и на уровне корня DFS. В настройках автономного режима сетевой папки, которая является корнем DFS, по крайней мере должно быть указано "Вне сети доступны только указанные пользователем файлы и программы". Далее уже на уровне Конечного объекта папки (Folder target) вы можете указывать, какие из них могут быть доступны автономно, а какие нет, в зависимости от вашей необходимости.

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

\\domain.local\data\profiles\ - тут хранились профили пользователей, для Folder target "profiles" использование автономных файлов отключено
\\domain.local\data\userdata\ - тут хранились перенаправленные папки пользователей, для Folder target "userdata" автономные фалы были включены принудительно

На корне DFS "data" - автономные файлы были выключены принудительно. В итоге синхронизация через Центр синхронизация зависала в бесконечном "Синхронизация ожидается". Установка возможности кэширования на уровне корня решило проблему, при этом папка profiles не кэшируется, так как на ее уровне автономные файлы выключены.


Полезные ссылки:

1) Пошаговое руководство по настройке новых функций автономных файлов для компьютеров под управлением Windows 7
2) Настройка необходимых разрешений для корректной работы Автономных файлов
3) Хотфикс для возможности переименования пути Автономных файлов без административных прав
4) Windows Offline Files Survival Guide
5) Windows Offline Files: Problems and Solutions
6) Время входа в Windows увеличивается при использовании перенаправленных Папок и Автономных файлов
7) Slow-Link with Windows 7 and DFS Namespaces

Сброс кэша автономных файлов в Windows 7

Как известно, Microsoft поменяла принцип и технологию кэширования автономных файлов начиная с Windows Vista. В Windows XP кэш автономных файлов можно было сбросить в настройках автономных файлов путем клика на кнопку "Удалить файлы...", удерживая при этом SHIFT+CTRL. В результате появлялось окно с предложением инициализировать кэш и после перезагрузки кэш благополучно инициализировался:

offlinefiles1.png


В Windows Vista, Windows 7 (и скорее всего также и в Windows 8, не проверял) таким образом очистить кэш автономных файлов уже не получится. Для сброса кэша в указанных операционных системах нужно проделать следующее:

1) Запустить regedit и найти ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CSC\Parameters
2) Создать в этой ветке параметр DWORD (32 бита) с именем FormatDatabase и значением 1.
3) Перезагрузить компьютер.

ВНИМАНИЕ!!! Перед созданием параметра и инициализацией кэша обязательно убедитесь, что автономные файлы синхронизированы с соответствующими сетевыми папками - не синхронизированные изменения будут потеряны и вы можете лишиться важных данных!

После перезагрузки компьютера кэш будет переинициализирован и ключ автоматически удалён.

Можно создать параметр автоматически через командную строку, выполнив следующую команду:
 REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v FormatDatabase /t REG_DWORD /d 1 /f

Официальную статью Microsoft по этой теме можно найти тут.

Как узнать на каких узлах NUMA работают виртуальные машины в Hyper-V

Посмотреть на каких узлах NUMA в многопроцессорных серверах работают виртуальные машины на сервере Hyper-V можно с помощью Системного монитора (Performance monitor), который находится в папке Администрирование.
Запустите Системный монитор и добавьте все счетчики Hyper-V VM Vid Patrition как показано на скриншоте:

numa1.png


Переключитесь в режим просмотра Отчет (Report), в результате вы увидите следующую таблицу. В строке Preferred NUMA Node Index отображается номер узла NUMA, на котором работает та или иная виртуальная машина:

numa2.png

Иногда требуется, чтобы определенная виртуальная машина запускалась только на заданном узле NUMA. Это можно сделать с помощью сценария PowerShell. Подробнее читайте в этой статье.

Автоматический редирект с http на https в ManageEngine ServiceDesk Plus MSP

Для настройки автоматического перенаправления при обращении к странице техподдержки с протокола http на https в продукте ServiceDesk Plus MSP компании ZOHO необходимо сделать следующее:

1) Изменить порт веб-сервера на 443. Для этого необходимо в командной строке из папки C:\ManageEngine\ServiceDeskPlus-MSP\bin запустить скрипт changeWebServerPort.bat с ключами 443 и https:

sd.png

2) Зайти в папку C:\ManageEngine\ServiceDeskPlus-MSP\server\default\deploy\jbossweb-tomcat50.sar, найти файл server.xml и открыть его для редактирования (например, в wordpad).

3) Найти следующие строки и заменить значение 8080 на 80 и 8443 на 443:
<!-- A HTTP/1.1 Connector on port 8080 -->
<!-- The compression parameters are taken from the default Tomcat server.xml-->
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
compression="off"
compressionMinSize="2048"
setBodyEncodingForURI="true"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain"/>
4) Зайти в папку C:\ManageEngine\ServiceDeskPlus-MSP\applications\extracted\AdventNetServiceDesk.eear\AdventNetServiceDeskWC.ear\AdventNetServiceDesk.war\WEB-INF, найти файл web.xml и открыть его для редактирования (например, в wordpad).

5) Найти следующий фрагмент:
<security-constraint>
      <web-resource-collection>
         <web-resource-name>Secured Core Context</web-resource-name>
         <url-pattern>/jsp/*</url-pattern>
         <url-pattern>/tasks/*</url-pattern>
         <url-pattern>/debug/*</url-pattern>
         <url-pattern>*.do</url-pattern>
         <url-pattern>*.cc</url-pattern>
         <url-pattern>/servlet/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>*</role-name>
      </auth-constraint>
</security-constraint>
и добавить в него следующие строки после /auth-constraint:
<user-data-constraint>
   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint> 
в итоге должно получиться:
<security-constraint>
      <web-resource-collection>
         <web-resource-name>Secured Core Context</web-resource-name>
         <url-pattern>/jsp/*</url-pattern>
         <url-pattern>/tasks/*</url-pattern>
         <url-pattern>/debug/*</url-pattern>
         <url-pattern>*.do</url-pattern>
         <url-pattern>*.cc</url-pattern>
         <url-pattern>/servlet/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>*</role-name>
      </auth-constraint>
      <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
</security-constraint>
6) Перезапустить ServiceDesk Plus MSP.

Не работает авторизация входа в Windows с помощью токенов Rutoken

Если вы используете аутентификацию в системе Windows на основе токенов Rutoken (или других токенов или смарткарт), например, для авторизации доступа к компьютеру, терминальному серверу (в общем, для авторизации входа в Windows), и на некоторых компьютерах она вдруг перестала работать и в окне аутентификации (Безопасность Windows) выдается ошибка "На этой смарт-карте не найдены действительные сертификаты" или "Действительные сертификаты не обнаружены", то возможно причина состоит в том, что на этот компьютер установили какое-либо стороннее криптографическое ПО, которое также может использоваться для авторизации входа в Windows, например, КриптоПРО CSP.
Для решения проблемы необходимо отключить в этом стороннем криптографическом ПО поддержку авторизации входа в Windows. В случае КриптоПРО запустите оснастку КриптоПРО CSP, откройте вкладку Оборудование, далее Настроить типы носителей. В открывшемся окне найдите ваш тип носителя, в нашем случае это Rutoken, выберите его и нажмите Свойства. В открывшемся окне перейдите на вкладку Настройки и снимите галку "Для входа в Windows при помощи Rutoken использовать КриптоПРО CSP". После этого все снова начнет замечательно работать.


kripto2.png

Изменение типа сети в Windows Server 2012 и Windows 8

В Microsoft Windows Server 2012 и Windows 8 отсутствует возможность изменять тип сетевого подключения через Центр управления сетями и общим доступом (Network and Sharing Center). Если вам нужно изменить тип сети, это можно сделать следующими способами:

1. С помощью изменения в реестре:

Запустите regedit, найдите ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles. Этот ключ будет содержать профили сетей вида {93BCDFC1-5C66-420A-A786-85AFBCE1D5E8}, в фигурных скобках может быть любой другой номер - найдите среди них вашу сеть по ключу ProfileName (её имя отображается Центре управления сетями) и измените значение ключа Category в соответствии с тем типом сети, который вам нужен:

0 - Общественная сеть (Public Network)
1 - Частная сеть (Private Network)
2 - Доменная сеть (Domain Network)


chg_ntw_type.png


2. С помощью изменения локальных политик безопасности:

Запустите оснастку Локальная политика безопасности (Local Security Policy). Это можно сделать в Панели управления, далее Система и безопасность -> Администрирование, либо просто выполнив в командной строке secpol.msc. Далее в левой части оснастки выбираете Политики диспетчера списка сетей (Network List Manager Policies), в результате справа отобразится список сетей. Найдите среди них вашу сеть по имени, которое отображается в Центре управления сетями, кликните на ней правой кнопкой мыши и зайдите в Свойства (Properties). Далее в закладке Имя сети (Network name) можно изменить соответственно имя сети, а в закладке Сетевое расположение (Network Location) - тип сети. Также можно изменить иконку сети. Если сервер или компьютер включены в домен, изменить тип сети на другой невозможно.

chg_ntw_type2.png

Проблема подключения PPTP VPN в Windows 7

Условия:
1.Windows 7 Pro как гостевая ОС под гипервизором VMWare ESXi 5.5.0
2. В свойствах виртуальной машины выбран сетевой адаптер E1000, vmwaretools установлены

Проблема:

любые PPTP VPN соединения "застревают" на этапе LCP Negotiation (http://technet.microsoft.com/en-us/library/cc957992.aspx).

Решение:
В свойствах виртуальной машины удалить сетевой адаптер E1000, добавить адаптер VMXNET 3, переустановить vmwaretools.


Данная проблема обнаружилась при миграции виртуальной машины WIndows 7 Pro с гипервизора VMWare ESXi 5.0.0 на ESXi 5.5.0
До миграции все VPN PPTP работали, несмотря на то, что адаптер был выбран E1000

Перенос загрузочного диска сервера на другой RAID-контроллер

Иногда возникают ситуации, когда требуется, например, модернизировать дисковую подсистему сервера, при этом переустановка операционной системы нежелательна.

Изменение ключа продукта в Windows 8 и Windows Server 2012

Иногда требуется изменить ключ продукта в Windows 8 и Windows Server 2012, однако "кнопки" для изменения ключа в этих ОС нет, в отличие от предыдущих версий. Для изменения ключа запустите командную строку от имени администратора и  используйте следующую команду:
slmgr -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
где XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - ключ продукта.

Подробнее об активации и изменении ключа тут http://support.microsoft.com/kb/929826

Подключение сканера штрихкодов Argox AS-8150 к 1С 8.2

Если у вас возникли проблемы при подключении сканера штрихкодов  Argox AS-8150 к 1С 8.2, можно использовать оригинальную утилиту ComWedge, которая передает информацию с com-порта непосредственно в консоль. Установите и запустите утилиту, выберите com-порт, к которому подключен сканер и нажмите Connect.
Ссылка на загрузки с сайта производителя http://www.argox.com/content.php?sno=0000033&P_ID=34

Компьютеры с Windows 8 и Windows Server 2012 не получают обновления с сервера WSUS

По умолчанию сервер WSUS 3.0, установленный на сервере с операционной системой Windows Server 2008 R2 и ниже, не поддерживает обновление клиентов с Windows 8 и Windows Server 2012. При попытке вручную запустить обновление на этих операционных системах выдается ошибка Центра обновления с кодом 800b0001.
Для того, чтобы WSUS мог обслуживать клиентов с Windows 8 и Windows Server 2012, необходимо установить следующее обновление:
http://support.microsoft.com/kb/2734608
Однако, установка этого обновления зачастую завершается неудачно и приводит к неработоспособности WSUS, о чем можно найти много обсуждений в Интернете.
В моей практике было два случая, в которых обновление не устанавливалось. В первом случае это было по причине того, что учетная запись, из-под которой я устанавливал это обновление, не обладала правами администратора на базу данных WSUS, которая располагалась на отдельном SQL-сервере (об этом несколько туманно, но упоминается в разделе "Известные проблемы..." в ссылке на обновление, на что я не обратил внимания). На время установки обновления я предоставил права sysadmin на сервере SQL для учетки, из-под которой я устанавливал обновление, и оно установилось без проблем, работоспособность WSUS восстановилась после удачной установки обновления.
Во втором случае база данных WSUS хранилась в Windows Internal Database и установить обновление помогла игра с ключом
HKEY_LOCAL_MACHINE\Software\Microsoft\UpdateServices\Server\Setup\wYukonInstalled
примерно как описано в этой статье http://msmvps.com/blogs/bradley/archive/2012/06/12/kb2720211-issues.aspx
Я установил этот ключ в 0,  перегрузил сервер, установил ключ в 1 и апдейт встал без проблем, WSUS также восстановился.

Удаление отключенных (несуществующих) устройств из системы Windows

Зачастую при отключении устройства из компьютера, например сетевого адаптера, информация о нем остается в системе, и в дальнейшем при подключении нового аналогичного устройства ему присваивается индекс #2, #3 и т.д.
При попытке присвоить новому сетевому адаптеру тот же ip-адрес, что и был на старом извлеченном из компьютера сетевом адаптере, выдается ошибка, что этот ip-адрес уже используется другим сетевым адаптером.
Чтобы удалить такое отключенное и не отображающееся в системе устройство, нужно сделать следующее:
1) Запустить командную строку командой cmd
2) В командной строке выполнить команду set devmgr_show_nonpresent_devices=1
3) затем start devmgmt.msc и запустить Диспетчер устройств
4) В Диспетчере устройств в меню Вид поставить галку Показать скрытые устройства
5) Раскрыть нужную ветку, найти отсутсвующее устройство (оно будет затемненным) и удалить его.
Ссылка на базу знаний Microsoft с описанием подобной проблемы http://support.microsoft.com/kb/269155

Перенос заданий (Sсheduled tasks) c Windows Server 2003 на 2008

Как известно, в Windows Server 2008 сменился формат заданий с .job на .xml, поэтому перенести назначенные задания путем простого копирования не представляется возможным. Однако, обойти эту проблему достаточно легко - нужно запустить на Windows Server 2008 Task Scheduler (Планировщик заданий) и подключиться им удаленно к Windows Server 2003. Далее экспортируем задания со старого сервера (они уже будут в нужном формате .xml) и импортируем их на новый сервер.

Проблема со скоростью сети в виртуальном окружении VMWare ESXi 5.0

Имеем:
  1. VMWare ESXi 5.0.0-469512-standart хост
  2. CentOS 6.2 kernel 2.6.32-220.el6.x86_64 - гостевая система в виртуальной локальной сети (так же есть Windows 7 гость)
  3. CentOS 6.2 kernel 2.6.32-220.el6.x86_64 - гостевая система-маршрутизатор, обеспечивающая выход в глобальную сеть для других гостевых систем
Пусть маршрутизатор = router, а гостевая система = centos_test.
Router одной сетевой картой подключен к виртуальному свитчу 1, который в свою очередь подключен к wan интерфейсу хост системы.
Вторая сетевая карточка подключена к виртуальному свитчу 2, который не подключен к физическому интерфейсу.
Centos_test имеет одну сетевую карту, подключенную к свитчу 2.
В качестве сетвой карточки во всех виртуальных системах используется vmxnet3 (при использовании E1000 проблема так же наблюдается).

Таким образом создается DMZ внутри одного ESXi хоста.

В такой конфигурации мы замечаем очень медленную работу с centos_test по сети.
Скорость передачи падает чуть ли не до 10 килобайт в секунду.
Диагностика с помощью tcpdump обнаруживает следующее:
IP a.b.c.d > x.x.x.x: ICMP y.y.y.y unreachable - need to frag (mtu 1500), length 556
где a.b.c.d - IP router,  x.x.x.x - IP centos_test,  y.y.y.y - IP назначения потока данных из глобальной сети.
Проанализировав трафик, понимаем - centos_test пытается отправить пакет заметно большей длины, чем MTU,
на что и получает ответ о необходимости фрагментации.
По каким-то причинам виртуальная сетевая карточка не заботится о максимальном размере пакета, как указано на интерфейсе.

Как решить проблему? Гугл отправляет искать причины в включенном LRO (large receive offload) в ESXi.
Однако никакие рекомендованные манипуляции с настройками (Configuration->Advanced settings->Net), связанными с LRO (Net.VmxnetSwLROSL,Net.Vmxnet3SwLRO,Net.Vmxnet3HwLRO,Net.Vmxnet2SwLRO,Net.Vmxnet2HwLRO и другие),  
не дали результата.

Поиски решения дали понять, что в ESXi есть какие-то ошибки в реализации функциональности LRO и TSO (tcp segmentation offload),
которые обнаруживаются в специфичных реализациях. Найти решение на стороне ESXi хоста не удалось, поэтому проблему нужно исправлять на стороне виртуальной машины.
Для этого в гостевой системе нужно отключить поддержку tso (в даном конкретном случае этого достаточно)
на сетевой карточке:      
#ethtool -K eth0 tso off
Но в данной конкретной системе (свежая установка Centos 6.2 без апдейта) вместо выключения tso будет ошибка:
Cannot set device tcp segmentation offload settings: Operation not supported
И только после обновления ядра (в моем случае до 2.6.32-220.13.1.el6.x86_64) команда отрабатывает без ошибок.
После этого работа с сетью нормализуется.
Чтобы после перезагрузки tso выключалось без вашего вмешательства, добавьте команду в /etc/rc.local (для CentOS).

В гостевой системе Windows 7 нужно зайти в настройки сетевой карточки и выключить опцию:
“IPv4 - разгрузка большой отправки” для Е1000 и “IPv4 Giant TSO Offload” для vmxnet3.

Linksys SPA3102 и сигнал отбоя (Disconnect Tone)

При использовании голосового адаптера Linksys SPA3102 возникает проблема обнаружения адаптером сигнала "занято". Если адаптер не может его определить, он не повесит трубку и линия может "подвиснуть" и будет занята, пока вы не вмешаетесь в ситуацию.
В настройках SPA3102 есть опция Disconnect Tone. Она отвечает за характеристики сигнала, по которым адаптер определяет состояние, когда надо "положить трубку". Disconnect Tone отличается от страны к стране, от производителя к производителю. Если погуглить, то для нашей страны чаще всего можно встретить такие значения:
425@-30,425@-30;3(.35/.35/1+2)
Если вам не подошли эти значения, их нужно определить самостоятельно (или узнать у вашего оператора).

Формула для расчета:
X@-30,X@-30;Y(A/B/1+2),
где
X — частота в Hz;
Y — число повторений;
А — время звучания сигнала в ms;
B — время тишины в ms;
Y — число повторений.

-30 - уровень сигнала, в данном случае минус 30 Db,
1+2 - 3102 поддерживает две частоты для определения (X@-30,X@-30), такая запись означает сравнивать первую и вторую одновременно (тут я возможно ошибаюсь, поскольку документация по этой опции скудная).

Для определения характеристик частоты и времени, нужно записать сигнал "занято" с вашей линии и проанализировать его. Записать сигнал проще всего позвонив с программного sip-телефона (например zoiper для Windows или SFLphone для linux) через вашу аналоговую линию на свой мобильный, включить запись разговора, сбросить звонок, послушать некоторое время "занято".
Полученный файл проанализируйте в удобном для вас аудио редакторе.
Подробная инструкция: http://adminote.blogspot.com/2009/08/spa3102-busy-detection.html

Подставьте значения в формулу. Если частота определяется достаточно точно, укажите одинаковое значение в двух вариантах. Если нет - поэкспериментируйте со вторым значением. Уровень сигнала можно тюнинговать для лучшего обнаружения.
Y - число повторений сигнал+тишина. Для предотвращения ложных срабатываний - увеличивайте, если качество линии плохое - уменьшайте.

В случае с одним из наших клиентов, для аналоговых линий от оператора Билайн у нас получилось так:
Disconnect Tone: 425@-40,425@-40;2(0.5/0.5/1+2)
Источники:
http://adminote.blogspot.com/2009/08/spa3102-busy-detection.html
http://asterisk-pbx.ru/wiki/doku.php/disconnect

SBS 2011 Essentials "Ошибка мониторинга компьютера" или "Computer monitoring error"

При обслуживании сервера на базе Microsoft Small Business Server 2011 Essentials столкнулись с такой проблемой - компьютеры периодически рапортовали в Панель администрирования SBS, что на них произошла "Ошибка мониторинга компьютера" или "Computer monitoring error". Никаких видимых причин для возникновения такой ошибки на компьютерах нам найти не удалось. После достаточно продолжительных исследований и поиска причин проблемы удалось выяснить, что она связана с установкой Windows Server Solutions Best Practices Analyzer - его удаление с сервера решает проблему.
По этому вопросу в Технете недавно появилась статья  http://social.technet.microsoft.com/wiki/contents/articles/7852.computer-monitoring-error-on-dashboard-or-launchpad.aspx
Для временного решения проблемы предлагается удалить WS BPA и установить заново с снятой галкой "Integrate Windows Server Solutions BPA scan results in the server console".

CentOS и ARP резолвинг

В некоторых сетевых конфигурациях (например при использовании виртуализации, NAT), можно столкнуться с проблемой доступа в глобальную сеть хостов, которые маскируются маршрутизатором.

Допустим у нас есть сервер под управлением CentOS, который предоставляет доступ в глобальную сеть хостам из локальной сети.



На внешнем интерфейсе нашего маршрутизатора прописаны 2 IP. 10.0.0.2 - основной адрес, выданный провайдером.
172.16.0.1 - дополнительный адрес. Сеть 172.16.0.0/29 маршрутизируется провайдером на наш основной адрес 10.0.0.2.
192.168.0.0/24 - локальная сеть на внутреннем интерфейсе. Основной шлюз (default gateway) - 10.0.0.1
Дополнительный адрес мы используем для маскирования локальной сети, а так же для проброса портов на внутренние сервисы.

В такой конфигурации обнаруживается следующая проблема:  если в таблице арп кеша маршрутизатора нет записи для 10.0.0.1, то
при инициировании соединения со стороны локального клиента ARP request посылается от IP адреса, которым мы его маскируем:
arp who-has 10.0.0.1 tell 172.16.0.1
В зависимости от настроек шлюза провайдера, он в большинстве случаев не ответит на такой  запрос, поскольку адрес, анонсированный в запросе, не принадлежит к сети шлюза провайдера.

Не получив ответа, маршрутизатор не знает на какой мак-адрес отправлять пакет и отвечает клиенту о недоступности сети.

Для того, чтобы наш сервер всегда посылал арп запрос от правильного адреса, в CentOS (справедливо для linux систем c версией ядра начиная с 2.6.4 и 2.4.26), существует настройка ядра arp_announce, которая может принимать 3 значения: 0,1,2 (подробнее можно прочитать здесь: http://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt).

По умолчанию на всех интерфейсах стоит 0 - можно использовать любой IP адрес настроенный на интерфейсе для ARP request.
Рекомендуемое значение 2 - в этом случае система будет игнорировать source IP в исходящем пакете и для арп запроса будет всегда использовать "правильный" адрес. Данную опцию можно поменять как для каждого отдельного интерфейса так и для всех сразу.

Для включения без перезагрузки:
#sysctl -w net.ipv4.conf.all.arp_announce=2
Не забудьте добавить в /etc/sysctl.conf

NEAX 2000IPS: плата PN-30PRTA и QSIG

Клиентом была поставлена задача соединить телефонные станции NEC NEAX 2000IPS и Asterisk по протоколу QSIG. В NEAX имелась потоковая плата PN-30PRTA. По документации по QSIG для NEAX 2000IPS эта плата должна поддерживать соединение по протоколу QSIG, однако это не так. Как выяснилось, QSIG держит только плата, имеющая в своем названии дополнение (QSIG), т.е. PN-30PRTA(QSIG). Будьте внимательны.

Перестает работать ввод с клавиатуры и мыши в сеансе «Удаленного помощника»

При использовании «Удаленного помощника Windows» совместно с Антивирусом Касперского для рабочих станций, наблюдается следующая проблема — при попытке открыть Антивирус на удаленном компьютере через «Удаленный помощник», отключается управление, при этом экран удаленного компьютера продолжает отображаться.

Причина проблемы состоит в том, что срабатывает самозащита Антивируса Касперского, блокируя ввод с клавиатуры и мыши. Стоит только удаленному пользователю (которому оказывают поддержку) открыть какое-либо приложение, чтобы переключить активность (фокус) с окна Антивируса, ввод с клавиатуры и мыши «Удаленного помощника» восстанавливается. При этом проблема наблюдается только на Windows 7, на XP такой проблемы нет.

Для решения проблемы можно либо просто отключить самозащиту Касперского, либо (что более правильно) добавить
%SystemRoot%\System32\msra.exe
в Доверенные программы и поставить галку Разрешать взаимодействие с интерфейсом программы.

Подробнее можно почитать в этой статье http://support.kaspersky.ru/faq/?qid=208635552.

Полная очистка логов на Windows Server 2008

Для того, чтобы полностью очистить все логи в Event Viewer (Просмотр событий), можно воспользоваться следующей командой:
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Запустите ее из командной строки с административными привилегиями.

Пропадает основной шлюз (default gateway) после перезагрузки Windows Server 2008 или SBS 2008

Если даже после ручной настройки tcp/ip в параметрах сетевого адаптера после перезагрузки пропадает ip шлюза на операционных системах Windows Server 2008 или Small Business Server 2008 , то решить эту проблему можно как описано в этой статье http://support.microsoft.com/default.aspx?scid=kb;EN-US;973243

Причина проблемы состоит в том, что комманда netsh, которую использует Мастер подключения к Интернету, добавляет в реестр некорректный символ. Cкачайте и установите хотфикс из статьи, задайте вручную адрес основного шлюза в настройках сетевого адаптера, затем запустите редактор реестра и откройте следующую ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<GUID>
где <GUID> соответствует сетевому адаптеру, на котором пропадает шлюз.

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

Не удается получить доступ к файлу данных Outlook, ошибка 8004010F

После переноса файлов данных Microsoft Outlook 2010 в новое месторасположение, при попытке получить почту Outlook выдает ошибку, что нет доступа к файлу данных, код ошибки 0x8004010F. Для решения этой проблемы нужно создать новый пустой файл данных и затем в настройках учетных записей электронной почты сменить место доставки сообщений на этот новый пустой файл данных. Затем сменить место доставки обратно, в нужный файл данных. После этого все начинает работать без проблем. Пустой файл данных можно удалить.

Дополнение: указанная процедура действует и для Outlook 2013 и 2016.


outl3.png


outl2.png

Синтаксическая ошибка в имени файла, имени папки или метке тома (0x8007007B)

Если при попытке включить защиту системы (System Restore) вы получаете ошибку:
Синтаксическая ошибка в имени файла, имени папки или метке тома (0x8007007B)

То проверьте, не виден ли в списке диск "Reserved" и не включена ли на нём защита. Если включена, то отключите.

Если же в списке видны только ваши диски (например, C: Windows, и D: Documents) и включить защиту не даёт эта ошибка, то решение следующее:
  1. Выберите нужный диск
  2. Нажмите Настроить
  3. Если ошибка появляется даже при включенном режиме, то его нужно предварительно отключить
  4. Установите предел использования диска в процентах
  5. Нажмите Применить
  6. Затем только включите требуемый уровень защиты (восстановление или восстановление + предыдущие файлы)
  7. И только теперь жмите Ok
Ошибки больше быть не должно и защита системы должна включиться без проблем.

Развёртывание синхронизируемого раздела "Неподшитые заметки" на другие компьютеры

В продолжении предыдущей заметки о синхронизации раздела "Неподшитые заметки" OneNote на SkyDrive.
Создав синхронизацию на одном компьютере, чтобы полностью не повторять всю процедуру на втором компьютере, можно просто перенести параметр нового пути через реестр.
Путь, где хранится этот параметр выглядит так:
 HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\OneNote\Options\Paths\UnfiledNotesSection

Перенос раздела "Неподшитые заметки" OneNote на SkyDrive

Данная заметка будет полезна пользователям программы OneNote 2010, которые держат свои записные книжки на SkyDrive.

Решим сразу две проблемы:
  • Синхронизация раздела "Неподшитые заметки" на SkyDrive.
  • Переименование папки раздела "Неподшитые заметки".
Для начала, у вас уже должна быть одна или несколько записных книжек, которые хранятся на SkyDrive, подключены к OneNote и успешно синхронизируются.

Теперь надо знать, что "Неподшитые заметки" представляют из себя не отдельную записную книжку, а всего лишь раздел, поэтому надо определиться, какая из существующих записных книжек отныне будет его содержать.
  • Создаём новую записную книжку на локальном диске (после создания она автоматически появится в OneNote).
  • Во вновь созданной книжке переименовываем "Новый раздел 1" (например, в "INBOX", либо в "Неподшитые заметки", если вас устраивает такое название).
  • Заходим в настройки (Файл-Параметры-Сохранение и резервное копирование) и изменяем путь для "Раздел неподшитых заметок" на созданную книжку и выбераем единственный существующий там раздел.
  • Выходим из настроек.
  • И простым drag'n'drop'ом перебрасываем раздел в одну из существующих книжек, например, в "Личная".
Теперь при клике в нижнем левом углу на кнопку "Неподшитые заметки" попадаем в раздел INBOX синхронизируемой записной книжки Личная. Также все созданные "заметки на полях" будут автоматически попадать туда и синхронизироваться на SkyDrive вместе с этой записной книжкой.

Миграция на SharePoint Foundation 2010: "1049/styles/core.css", file not found

Подобная ошибка говорит об отсутствии нужного языка, в данном случае русского (1049).
У нас эта ошибка возникла при миграции с SharePoint Services 3.0 русского на SharePoint Foundation 2010 английский.
Чтобы решить проблему, необходимо установить соответсвующий Language Pack.

Marvell 88E8056 и Hyper-V

При развертывании виртуальных машин в среде Hyper-V на сервере на базе материнской платы ASUS P7F-C/4L столкнулись с проблемой жутких тормозов при работе с сетью - вдомененные машины долго грузились, не могли авторизоваться на контроллере домена, не обрабатывались групповые политики, RDP работал невозможно медленно, иногда пропадали пакеты. При этом сеть на хостовой машине работала великолепно, никаких нареканий.
Не буду долго описывать, как мы локализовали проблему, в общем проблема оказалась в некорректной работе интегрированных сетевых адаптеров Marvell 88E8056 при использовании виртуальных сетей Hyper-V. Обновление драйверов до самых последних с сайта производителя ни к чему не привело.
После непродолжительного танца с бубном с настройками драйвера Marvell выяснилось, что проблема исчезает при отключении функции Large Send Offload (IPv4). Это, конечно, переведет исполнение этой функции на CPU, но по крайней мере решает проблему. Кстати, на сетевых картах Intel все хорошо работает и с включенной этой функцией.

Диспетчер задач не показывает, какие ресурсы процессора используются виртуальной машиной

Диспетчер задач не показывает сведения о ЦП для виртуальных машин Hyper-V. Чтобы просмотреть сведения о загрузке ЦП для виртуальных машин, можно воспользоваться Монитором производительности и стабильности системы. Он показывает данные, полученные со счетчиков производительности Hyper-V. Чтобы открыть монитор производительности и стабильности системы, нажмите кнопку Пуск, выберите команду Выполнить и введите perfmon. Данные, полученные с перечисленных ниже счетчиков производительности, можно просмотреть в управляющей операционной системе (в которой выполняется роль Hyper-V).
  • Логический процессор низкоуровневой оболочки Hyper-V — % времени гостевой работы: определяет объем ресурсов физического процессора, используемый для работы виртуальных машин. Этот счетчик не идентифицирует отдельные виртуальные машины или объем ресурсов, потребляемый каждой виртуальной машиной.
  • Виртуальный процессор низкоуровневой оболочки Hyper-V — % времени гостевой работы: определяет объем ресурсов виртуального процессора, потребляемый виртуальной машиной.
Между потреблением ресурсов виртуального и логического процессоров нет прямого соответствия, поскольку виртуальные процессоры можно назначить на любых логических процессорах.

«Удаленный помощник» и UAC

Для того, чтобы на компьютерах с Windows 7 или Windows Vista «Удаленный помощник» мог ввести логин и пароль администратора при запросе UAC, можно включить следующий параметр групповой политики:

Computer settings\Polices\Windows Setting\Security Settings\Local Policies\Security Options\User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop

Этот параметр позволяет UIA-приложениям, к которым относится и «Удаленный помощник», не использовать безопасный рабочий стол (secure desktop) при выводе запроса логина и пароля для повышения прав.

Сервер HP сваливается в «Blue Screen» после установки Антивируса Касперского

На серверах HP, в которых используется RAID-контроллер Smart Array P410 или P410i и установлена ОС Windows Server 2003, после установки Антивируса Касперского 6.0 для файловых серверов, происходит падение сервера с выводом ошибки Hardware Malfuncton на «Синем экране». Лечится данная проблема путем обновления прошивки RAID-контроллера до версии 3.66+. Более подробно о проблеме можно почитать тут http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c02667866&dimid=1170738212&dicid=alr_dec10&jumpid=em_alerts/us/dec10/all/xbu/emailsubid/mrm­/mcc/loc/rbu_category/alerts

Минусы системы лицензирования Kerio

Сама система лицензирования довольно прозрачная. Основные условия были описаны в предыдущей заметке. Но нами были выделены явные отрицательные моменты в лицензировании, которые могут быть неудобны конечным потребителям.
  • При уменьшении рабочих станций, клиент может уменьшить количество лицензий в пакете и сэкономить на стоимости продления, но вновь увеличить можно только заново приобретя аддон на требуемое количество лицензий.
  • При регистрации продукта могут происходить ошибки, если писать имя компании писать на русском языке или содержащее много букв. Такие же проблемы возникают при регистрации аддонов и продлений.
  • При покупке подписки  (продления) срок её  действия начинается с момента окончания предыдущей! То есть, если вы купили продукт в январе 2011 года, то базовая подписка действует до января 2012 года, но если подписку продлить только в июне 2012 года (спустя полгода после её окончания), то срок её действия будет всё равно до января 2013, а не до июня 2013 года! Если же покупать подписку спустя год после окончания, то придётся приобретать подписки сразу на два года — на прошедший и на следующий год. Иными словами, через три года непродления подписки получится дешевле приобрести продукт ещё раз, чем покупать подписки.
  • Срок действия аддона заканчивается вместе с окончанием срока подписки основного продукта независимо от даты приобретения аддона. Например, вы купили продукт в январе 2011 года, а аддон докупили в июне 2011 года — аддон закончится также в январе 2012 года, как и основной продукт. Единственное исключение — 30 дней до окончания продукта. Если купить аддон за месяц до окончания (например в декабре 2011), то он не привязывается к продукту и будет действовать до декабря 2012.

Виртуальная машина не запускается с ошибкой «Доступ запрещен»

Такая ошибка обычно возникает, когда нарушены разрешения безопасности на доступ к файлу конфигурации виртуальной машины или к подключенным к ней vhd-дискам.
Сообщение об ошибке имеет примерно такой вид:

The application encountered an error while attempting to change the state of 'VIRTSERV'.
'Unnamed VM' failed to initialize.
An attempt to read or update the virtual machine configuration failed because access was denied.
'Unnamed VM' failed to initialize. (Virtual machine 460113C2-D57D-4F67-8AFA-F6FE589D7410)
'Unnamed VM' failed to read or update the virtual machine configuration because access was denied: General access denied error (0x80070005). Check the security se ttings on the folder in which the virtual machine is stored. (Virtual machine 460113C2-D57D-4F67-8AFA-F6FE589D7410)


В таком случае можно воспользоваться командой icacls для изменения разрешений:

icacls "%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\460113C2-D57D-4F67-8AFA-F6FE589D7410.xml" /grant "NT VIRTUAL MACHINE\460113C2-D57D-4F67-8AFA-F6FE589D7410":F /l

Замените 460113C2-D57D-4F67-8AFA-F6FE589D7410 на GUID виртуальной машины, которой надо предоставить доступ. Аналогичное надо проделать и с vhd-файлами, если это требуется, или удалить их из виртуальных машин и заново добавить.

Краткая памятка по системе лицензирования Kerio

Приобретение:
  • Цены на серверные продукты Kerio Control и Kerio Connect отличаются, но цены на аддоны для них одинаковые;
  • Все цены уже включают НДС (да-да, лицензии продаются с НДС);
  • Скидки для EDU — 40%, для GOV — 15%;
  • Покупка базовой (серверной) лицензий уже включающей 5 лицензий обязательна;
  • 1 лицензия Kerio Control — это 1 пользователь (до 5 устройств);
  • 1 лицензия Kerio Connect — это 1 почтовый ящик;
  • Количество лицензий на Kerio Web Filter должно совпадать с количеством лицензий на Kerio Control.
Дозакупка (аддоны):
  • Докупать аддоны можно и без действующей подписки;
  • Версия аддона должна совпадать с серверной лицензией (с антивирусом или без).
Продление (подписка):
  • Количество лицензий в продлении обязательно должно совпадать с количеством действующих лицензий. Письмом на info@kerio.ru можно уменьшить количество лицензий в пакете;
  • Версия подписки также должна совпадать с серверной лицензией (с антивирусом или без);
  • Подписка даёт право на обновление самого продукта, на обновление антивирусных баз, обновление фильтров и техническую поддержку;
  • При окончании подписки продукт продолжает работать. Отсутствует только возможность обновления, обновление баз и техническая поддержка;
  • Состав пакета подписки может отличаться, если сохраняется общее количество лицензий. Например, был куплен базовый продукт и четыре аддона по 5 лицензий. Продлевать можно базовый продукт и один аддон на 20;
  • Максимальный срок одномоментной регистрации продления — 2 года.
Разное:
  • Регистрировать сперва надо базовую (серверную) лицензию, лишь только потом аддоны;
  • Обновление с KWF и KMS (Kerio Connect 7.0):  сперва письмом на info@kerio.ru нужно разделить продукт на 5+5 (так как больше нет базовых лицензий на 10 пользователей) и лишь потом покупать продление совпадающее с общим числом пользователей;
  • Нельзя добавлять пользователей в действующей версии с McAfee, так как она более не доступна;
  • При апгрейде на Kerio Control и Kerio Connect 7.1 McAfee автоматически заменяется Sophos с сохранением настроек и срока подписки;
  • Можно подключить сторонний антивирус (Avast, AVG, ClamAV, DrWeb, NOD32) через плагин;
  • Если подписка на KWF кончилась до 1 июня 2010, то сперва покупается продление и лишь потом делается апгрейд на Kerio Control. Такая же ситуация с Kerio Connect 7.0, только дата 3 августа 2010;
  • При апгрейде на версию с антивирусом действующая подписка не требуется. Апгрейд обнуляет действующую подписку и оформляет подписку на год;
  • Даунгрейд на версию без антивируса возможен через сообщение на info@kerio.ru

Не устанавливается обновление Агента обновления Windows с ошибкой 800F0818

При подключении нового ноутбука с Windows 7 к корпоративной сети с WSUS 3.0 SP2 Центр обновления Windows сообщил, что требуется обновление Агента обновления с предложением его установить. Уведомляется, что для установки обновления Центр обновления будет автоматически закрыт и снова открыт, затем продолжится поиск обновлений. Однако инсталляция не удается и завершается с ошибкой 800F0818. Если вы столкнулись с такой же проблемой, то перед обновлением Агента необходимо установить System Update Readiness Tool KB947821 http://support.microsoft.com/kb/947821/en-us, после этого обновление Агента должно пройти без ошибок.

Установка Kerio Control Software Appliance на HP ProLiant MicroServer

Казалось бы никаких проблем возникнуть не должно. Но они возникли на ровном месте. Сперва Kerio Control Software Appliance не захотел устанавливаться с образа, записанного на USB Flash Drive. Установка пошла только после записи образа на обычную CD-болванку. Ну это мелочи, а вот вторая проблема ждала при запуске уже установленного комплекса. Всё зависало при старте в рабочий режим, хотя замечательно запускалось в Safe Mode. Изучение параметров запуска Safe Mode и метод перебора показал, что запуститься помогает параметр nosmp.

Однако, добавить этот параметр прямо в настройке запуска Kerio Control Software Appliance нельзя. Точнее, добавить можно, и даже можно запуститься с ним, но он не запоминается и с перезагрузкой опять получается зависший Kerio.

Выход был найден снятием HDD с установленным Kerio Control Software Appliance и подключением его к компьютеру с Linux, где через обычный редактор в grub.conf был добавлен параметр nosmp.

Виртуальная машина не запускается после изменения размера VHD-файла

Такая проблема возникает тогда, когда была попытка изменить размер VHD-файла, но при этом имеется снимок (snapshot) виртуальной машины, использующей данный VHD-файл.
При создании снимка создается avhd-файл, в который начинают сохраняться изменения относительно родительского vhd-файла. При наличии дочерних avhd-файлов, изменять размер родительского vhd-файла нельзя! Иначе нарушается целостность цепочки vhd-avhd и виртуальная машина запускаться не будет с соответсвующей ошибкой.
Официального решения данной проблемы нет, однако имеется сторонняя утилита vhdtool, позволяющая восстановить целостность нарушенной цепочки в случае подобного некорректного изменения. Используйте vhdtool с ключем /repair.
Ссылка на сайт разработчика http://archive.msdn.microsoft.com/vhdtool

Инсталляция WSUS и ошибки 12002, 12012, 12032, 12022, 12042, 12052

После инсталляции WSUS 3.0 SP2 через Server Manager на Windows Server 2008 R2 столкнулся с проблемой - мастер настройки не запускается и к WSUS невозможно подключиться через консоль. При этом в Event Viewer фиксируются ошибки с номерами 12002, 12012, 12032, 12022, 12042, 12052. Причина оказалась довольно банальна - не соблюдены некоторые требования (ссылка на требования http://technet.microsoft.com/en-us/library/dd939916%28WS.10%29.aspx) для инсталляции, а именно NETWORK AUTHORITY/NETWORK SERVICE должна иметь полные права на следующие папки:

%windir%\Microsoft .NET\Framework\v2.0.50727\Temporary ASP.NET Files

%windir%\Temp


После добавления прав все чудесным образом заработало. RTFM!

Проблема при попытке сжать VHD-файл

При использовании виртуализации на основе Hyper-V иногда возникает потребность сжать (compact) динамический VHD-файл. Как правило все проходит без проблем, но иногда при попытке сжатия возникает ошибка:

The requested operation could not be completed due to a file system limitation

Такая ошибка возникает тогда, когда динамический VHD-файл содержит внутри себя теневые копии. Для того, чтобы сжать такой файл, теневые копии необходимо удалить. Сделать это можно запустив в виртуальной машине, к которой относится этот файл, следующую команду:

vssadmin.exe delete shadows /all

Если после выполнения этой команды возникает ошибка

Snapshots were found, but they were outside your allowed context. Try removing them with the backup application which created them.

То следует воспользоваться командой diskshadow:

DiskShadow.exe
DISKSHADOW>Delete Shadows All


Все команды необходимо запускать в командной строке, запущенной с правами администратора.
Не забудьте после удаления теневых копий выключить виртуальную машину и можно запускать сжатие vhd-файла в оснастке Hyper-V.

Также сжатие vhd можно выполнить из командной строки с помощью diskpart, что может быть полезно в случае использования Hyper-V Server, у которого нет GUI:

Diskpart
select vdisk file="путь к vhd-файлу"
attach vdisk readonly
compact vdisk
detach vdisk

Использование команды w32tm для настройки источника времени в Windows Server 2008 R2

Как известно, в Windows Server 2008 R2 стало невозможным настраивать источник времени командой net time, для этого необходимо использовать команду w32tm. Эта команда предназначена для настройки службы Windows Time и имеет широкий набор аргументов, описание которых можно увидеть, запустив ее с ключом /?. В этой статье я опишу несколько типичных вариантов использования команды w32tm.

w32tm /query /source - выводит источник времени, на который настроена служба Windows Time
w32tm /monitor - при запуске на контроллере домена (КД) показывает, насколько отличается время на других КД и на внешнем источнике времени, на который настроен PDC
w32tm /config /syncfromflags:manual /manualpeerlist:ru.pool.ntp.org - настройка в качестве источника времени пула ntp-серверов ru.pool.ntp.org
w32tm /config /update - эту команду необходимо выполнить, чтобы служба времени применила новые настройки
w32tm /resync - выполнение синхронизации времени
w32tm /unregister - отменяет регистрацию службы и удаляет настройки из реестра
w32tm /register - регистрирует службу и восстанавливает настройки по умолчанию

Настройки службы Windows Time хранятся в реестре в ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\

Период синхронизации задается в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient
ключ SpecialPollInterval содержит интервал синхронизации в секундах


Tips:
Если у вас несколько контроллеров домена, при использовании виртуализированного контроллера домена необходимо обязательно отключать средство синхронизации времени гостевой ОС с хостовой - контроллеры домена используют свой собственный механизм синхронизации времени, использование вместе с ним синхронизации времени с хостовой машиной может привести к различным проблемам, вплоть до проблем с репликацией.
Если у вас один единственный контроллер в домене и он виртуализированный, то включить синхронизацию времени с хостовой машиной можно, однако обязательно настройте на хостовой машине синхронизацию с внешним источником времнени и уменьшите интервал синхронизации, например, до одного дня.

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

Полезная статья на тему.