CM: Definitions Out Of Date

Недавно произошла проблема на нескольких серверах — консоль Operations Manager показывала, что на нескольких серверах перестали применяться обновления System Center Endpoint Protection, об этом сообщал и сам агент. Попытки обновить сигнатуры антивируса хоть каким либо способом (с помощью кнопки «Обновить», выкачивание сигнатур из интернета) не привели к успеху. В логе Application всегда фигурировала примерно одна и та же запись:

EventType mptelemetry, P1 0x80508007, P2 mpupdateengine, P3 am delta, P4 11.1.5020.0, P5 mpsigstub.exe, P6 4.6.305.0, P7 system center endpoint protection, P8 NIL, P9 NIL, P10 NIL.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

80508007

В логе WindowsUpdate.log также фигурируют записи:

2015-05-31 10:14:42:754  884 1de8 Agent *************
2015-05-31 10:14:42:754  884 1de8 Agent ** START **  Agent: Installing updates [CallerId = CcmExec]
2015-05-31 10:14:42:754  884 1de8 Agent *********
2015-05-31 10:14:42:754  884 1de8 Agent   * Updates to install = 1
2015-05-31 10:14:42:754  884 1de8 Agent   *   Title = Обновление определения для Microsoft Endpoint Protection – БЗ2461484 (Определение 1.199.1341.0)
2015-05-31 10:14:42:754  884 1de8 Agent   *   UpdateId = {206AF401-DDD9-45B3-AAA5-AFFB4B45082D}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *     Bundles 13 updates:
2015-05-31 10:14:42:754  884 1de8 Agent   *       {9ADE0A01-4B9F-47CF-B81F-F0A3D62BDCC9}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {6099CB40-72BD-4CD6-B6F1-EE7E38A66A58}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {BB829F61-F190-4CBE-98B8-B3779B27E5A6}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {1D2DA9A9-D7FD-4DF3-A88D-E0560E32AA41}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {9B948BAB-B715-46BF-9CF5-1A0D9C16BB28}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {17C01696-C668-47FC-9928-84CE30039097}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {6D65585F-98F5-4A60-86C0-E5BCECD5CA46}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {76331A49-BE93-499F-91A9-5CBD255ED8F5}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {2BD89222-EB10-4142-8146-4A56A3ECB4A8}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {4F545BA7-1F9E-4BAD-824A-F19546327CA4}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {61F20F02-FD02-48F7-80EA-3DC741F56093}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {33974DBA-7DEC-4BB2-8F32-8DBB708A47BD}.200
2015-05-31 10:14:42:754  884 1de8 Agent   *       {780C110A-1DCE-4CE8-9F64-0D2D67607B3B}.200
2015-05-31 10:14:42:754  884 1de8 Agent WARNING: LoadLibrary failed for srclient.dll with hr:8007007e
2015-05-31 10:14:43:051  884 1de8 DnldMgr Preparing update for install, updateId = {780C110A-1DCE-4CE8-9F64-0D2D67607B3B}.200.
2015-05-31 10:14:43:098 7856 1f84 Misc ===========  Logging initialized (build: 7.6.7600.256, tz: +0200)  ===========
2015-05-31 10:14:43:098 7856 1f84 Misc   = Process: C:\WINDOWS\system32\wuauclt.exe
2015-05-31 10:14:43:098 7856 1f84 Misc   = Module: C:\WINDOWS\system32\wuaueng.dll
2015-05-31 10:14:43:098 7856 1f84 Handler :::::::::::::
2015-05-31 10:14:43:098 7856 1f84 Handler :: START ::  Handler: Command Line Install
2015-05-31 10:14:43:098 7856 1f84 Handler :::::::::
2015-05-31 10:14:43:098 7856 1f84 Handler   : Updates to install = 1
2015-05-31 10:17:05:584 7856 1f84 Handler   : WARNING: Command line install completed. Return code = 0x80508007, Result = Failed, Reboot required = false
2015-05-31 10:17:05:662 7856 1f84 Handler   : WARNING: Exit code = 0x8024200B
2015-05-31 10:17:05:662 7856 1f84 Handler :::::::::
2015-05-31 10:17:05:662 7856 1f84 Handler ::  END  ::  Handler: Command Line Install
2015-05-31 10:17:05:662 7856 1f84 Handler :::::::::::::

В итоге, было выявлено, что это происходит на 32-битных версиях Windows Server 2003. Смотрим на сайте Microsoft, что поддержка ОС еще не закончена. Ошибка 0x80508007 как бы намекает на то, что недостаточно оперативной памяти, но серверы не используют и половины выделенной им памяти. В чем же проблема?

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

Реклама

CM: System Center 2012 Configuration Manager SP1 Cumulative Update 5

Как я и писал в одной из недавних записей о скором выходе Cumulative Update 5. Вот он и вышел! Статья, а также само обновление находятся по ссылке — http://support.microsoft.com/kb/2978017.

CM: Еще раз о членстве локальных групп

Давным-давно я (да и не только я) уже писал о том, как можно получить отчет по членам локальных групп. Сегодня, поковырявшись с WMI и оглядываясь назад, решил, что код выглядит достаточно некрасиво, да и сам по себе класс имеет некоторые недостатки. Так, например, если членом локальной группы будет локальный и доменный пользователь с одним и тем же именем, то объект создастся лишь для одной записи. В общем-то сам по себе скрипт поменялся не сильно, а вот класс Win32_LocalGroupMember, если вы уже его использовали, придется пересоздать, т.к. теперь ключевыми свойствами является SID группы и SID учетной записи, что даст абсолютную уникальность каждому объекту в WMI. Также по данному классу теперь можно узнать, является ли пользователь локальным или доменным (MemberLocalAccount), а также SID данного пользователя (MemberSID).

Собственно, сам скрипт:

Set oWMI = GetObject("winmgmts:root\cimv2")
iCimtypeString = 8
iCimtypeBoolean = 11

sClassName = "Win32_LocalGroupMember"
sLocalGroupQuery = "SELECT Domain, Name, SID FROM Win32_Group WHERE LocalAccount=TRUE"
sComputerSystemQuery = "SELECT DomainRole FROM Win32_ComputerSystem"

For Each oSubclass in oWMI.SubclassesOf()
    If oSubclass.Path_.Class = sClassName then oWMI.Get(sClassName).Delete_
Next

Set oClass = oWMI.Get()
oClass.Path_.Class = sClassName
Call oClass.Properties_.add("MemberName", iCimtypeString)
Call oClass.Properties_.add("MemberDomain", iCimtypeString)
Call oClass.Properties_.add("MemberType", iCimtypeString)
Call oClass.Properties_.add("MemberLocalAccount", iCimtypeBoolean)
Call oClass.Properties_.add("MemberSID", iCimtypeString)
Call oClass.Properties_.add("GroupName", iCimtypeString)
Call oClass.Properties_.add("GroupDomain", iCimtypeString)
Call oClass.Properties_.add("GroupSID", iCimtypeString)
Call oClass.Properties_("GroupSID").Qualifiers_.add("key", True)
Call oClass.Properties_("MemberSID").Qualifiers_.add("key", True)
Call oClass.Put_()

Set oClass = oWMI.Get(sClassName).SpawnInstance_

For Each oGroup in oWMI.ExecQuery(sLocalGroupQuery)
	sAssociatorsQuery = "ASSOCIATORS OF {Win32_Group.Domain='"&oGroup.Domain&"',Name='"&oGroup.Name&"'} WHERE Role=GroupComponent"
	For Each oAccount in oWMI.ExecQuery(sAssociatorsQuery)
		oClass.MemberName = oAccount.Name
		oClass.MemberDomain = oAccount.Domain
		oClass.MemberSID = oAccount.SID
		oClass.MemberType = Replace((oAccount.Path_.Class), "Win32_", "")
		oClass.MemberLocalAccount = oAccount.LocalAccount
		oClass.GroupName = oGroup.Name
		oClass.GroupDomain = oGroup.Domain
		oClass.GroupSID = oGroup.SID
		Call oClass.Put_()
	Next
Next

И сам MOF:

//**************************************************************************
//* Class: Win32_LocalGroupMember
//**************************************************************************
 
[ SMS_Report     (TRUE),
  SMS_Group_Name ("Local Group Member"),
  SMS_Class_ID   ("CUSTOM|LocalGroupMember|1.0") ]
class Win32_LocalGroupMember : SMS_Class_Template
{
    [SMS_Report (TRUE)      ] string MemberName;
    [SMS_Report (TRUE)      ] string MemberDomain;
    [SMS_Report (TRUE), key ] string MemberSID;
    [SMS_Report (TRUE)      ] string MemberType;
    [SMS_Report (TRUE)      ] boolean MemberLocalAccount;
    [SMS_Report (TRUE)      ] string GroupName;
    [SMS_Report (TRUE)      ] string GroupDomain;
    [SMS_Report (TRUE), key ] string GroupSID;
};

О том, как опубликовать и использовать в отчетах данный пример можно прочитать в предыдущей статье о членстве групп, все имена свойств класса остались прежними.
Во вложении к статье можно скачать сам скрипт и MOF файл. Не забудьте поменять расширение на .zip.

CM: Прощай, Configuration Manager 2007!

Вчера, 08.07.2014 был последний день поддержки линейки продуктов System Center Configuration Manager 2007, включая релизы R2 и R3. В любом случае, до 09.07.2019 продолжает действовать расширенная поддержка. А всем остальным, кто еще не успел мигрировать на новую линейку ConfigMgr, рекомендую сделать это в ближайшее время, тем более, что на Technet Virtual Labs можно протестировать миграцию на уже готовых виртуальных машинах.

Если оглянуться назад, то давайте рассмотрим, что нам принес в свое время Configuration Manager 2007:

  • Native Mode — в свое время мало кто понимал зачем он нужен и зачем столько возни с сертификатами. Но именно с помощью него у администраторов появилась возможность управлять компьютерами за пределами внутренней сети;
  • Out-of-band Management… или проще говоря, работа и поддержка c Intel AMT;
  • Поддержка WSUS! Те, кто застал времена SMS 2003 помнят, что обновления приходилось распространять как пакеты;
  • После выхода R2 появилась возможность использовать службу SQL Server Reporting Services вместо службы отчетов SCCM 2007, которая была написана на ASP. В свое время было очень много проблем с этой службой из-за переходов на 64-битные платформы;
  • Также с выходом R2 появилась возможность устанавливать операционные системы на неизвестные компьютеры. До этого приходилось использовать интеграцию с MDT 2007;
  • Клиент поддерживал все современные операционные системы, включая Windows 8.1 (с некоторыми оговорками);
  • С выходом релиза R3 появилась возможность управлять электропитанием (правда, для России данный функционал был не востребован).

Подводя итог, упомяну, что на тот момент Configuration Manager 2007 был отличным продуктом для Enterprise сегмента, а умение администрировать и управлять Configuration Manager по сей день востребовано и продолжает украшать резюме высококвалифицированных специалистов.

CM: System Center 2012 R2 Configuration Manager Cumulative Update 2

Вышло второе кумулятивное обновление для System Center 2012 R2 Configuration Manager.

KB2970177 —  Описание и загрузка кумулятивного обновления 2 для Configuration Manager 2012 R2.

KB2962855 — Описание изменений в наборе командлетов Powershell в Cumulative Update 2.

KB2976481 — Описание изменений для кроссплатформенных клиентов Cumulative Update 2. Сами клиенты можно скачать по прежней ссылке — http://www.microsoft.com/en-my/download/details.aspx?id=39360.

В скором времени будет выпущен релиз Cumulative Update 5 для System Center 2012 R2 Configuration Manager Service Pack 1.

 

CM: System Center 2012 R2 Configuration Manager Maintenance Window bug

Коллегами в компании был обнаружен баг с окнами обслуживания в System Center 2012 R2 Configuration Manager. Баг заключается в следующем, если окно обслуживания считается не по локальному времени, а по Гринвичу (Coordinated Universal Time (UTC)) и окно обслуживания по локальному времени переходит на следующие сутки, то день недели в данном случае не переходит и считается по установленной галочке в окне обслуживания. Пример:
Окно обслуживания запланировано по Гринвичу на Вторник, 20:00 и заканчивается 21:30, соответственно, локальное время для Москвы (+04:00) это Среда, с 00:00 по 01:30. По факту данное окно будет применено во Вторник с 00:00 по 01:30.
По неподтвержденным данным данный баг отсутствует в окнах обслуживания с применением для «All Deployment Types».

CM: System Center 2012 R2 Configuration Manager Cumulative Update 1

Вышел первый накопительный пакет для ConfigMgr 2012 R2! Я постараюсь перечислить лишь основные исправления и дополнения, которые включены в Cumulative Update 1:

  • Наконец-то исправлен баг с кнопкой Uninstall при создании нескольких Deployment Type в приложении;
  • Исправлена ошибка с распознаванием съемных носителей в WinPE. Раньше, при установке ОС и наличии USB-носителя можно было получить следующую ошибку:

Booted from fixed disk
!sVolumeID.empty(), HRESULT=80004005 (e:\qfe\nts\sms\framework\tscore\resolvesource.cpp,465)
!sVolumeID.empty(), HRESULT=80004005 (e:\qfe\nts\sms\framework\tscore\resolvesource.cpp,465)
!sTSMDataPath.empty(), HRESULT=80070002 (e:\qfe\nts\sms\framework\tscore\resolvesource.cpp,1425)
TS::Utility::GetTSMDataPath(rsPath), HRESULT=80070002 (e:\qfe\nts\sms\client\tasksequence\bootshell\configpath.cpp,352)
Failed to find the current TS configuration path
ConfigPath::FindConfigPath(sConfigPath), HRESULT=80070002 (e:\qfe\nts\sms\client\tasksequence\bootshell\bootshell.cpp,545)
Failed to find the configuration path.
The system cannot find the file specified. (Error: 80070002; Source: Windows)
Execution failed with error 80070002.

  • Обновился клиент System Center Endpoint Protection;
  • Исправлена ошибка с Automatic Deployment Rules. Раньше, если для аутентификации на прокси-сервере в настройках указывалась учетная запись, загрузка заканчивалась ошибкой;
  • Добавлены и изменены некоторые командлеты PowerShell — KB2932274;

Это лишь часть основных изменений, полный список, а также загрузить пакет можно по ссылке — http://support.microsoft.com/kb/2938441.