SCCM; PS; И очень медленная работа Add-CMDeviceCollectionDirectMembershipRule

… или простая задача но много букв.

Время от времени возникает вопрос — «Надо добавить в коллекцию пару сотен девайсов, а командлет Add-CMDeviceCollectionDirectMembershipRule делает это ну оооочень медленно». И приводят пример вроде этого:

$Names = "a*"
$CollName = "Test collection"
Get-CMDevice -Name $Names | Foreach-Object {
    Add-CMDeviceCollectionDirectMembershipRule -CollectionName $CollName -ResourceId $_.ResourceID
}

Смотрим описание командлета:

Тег «Далее»

Рубрики:PowerShell, SCCM, Tricks

SCCM; OSD; Windows 10; Порядок языков, язык в LogonScreen и локализованные ярлыки приложений в "Пуск"

Время от времени на профильных ресурсах обсуждается вопрос – «Как задать языковые параметры ОС при установке?». Классический, правильный ответ — с помощью Unattend.xml или в MDT — с помощью CustomSettings.ini (что на самом деле тоже ведёт к формированию Unattend.xml). Но не все параметры удаётся задать через него, особенно специфические. Особенно часто этот вопрос начал возникать с появлением Windows 10, так как заданный порядок языков влияет на отображение ярлыков приложений в меню «Пуск». Вокруг этого сразу возникает множество советов по исправлению параметров реестра, не обращая внимания на способ предложенный MS уже более 10-ти лет назад – «Command Line Configuration of International Settings«.

В SCCM 1910 добавили возможность более гибко управлять языками в Task Sequence.

Тег «Далее»

Рубрики:OSD, SCCM, Tricks

RSAT; Windows 10; DNS manager console missing for RSAT client on Windows 10 Version 1709;

Чтобы самому не искать каждый раз

DNS manager console missing for RSAT client on Windows 10 Version 1709

Архив с файлами под x64 и немного доработанным батником, чтобы можно было из сети ставить или SCCM-ом:

Архив c “installx64.bat” и “unattend_x64.xml” под x64: RSAT_Win10_1709+DNS.zip

Распаковываем и кладём туда же сам RSAT client — WindowsTH-RSAT_WS_1709-x64.msu

Запускам “installx64.bat” с повышением привилегий (Run As Administrator)

installx64.bat: Тег «Далее»

Рубрики:Tricks, Troubleshooting

SCCM; SSRS; Часть 1: Скачать отчёты? Что может быть проще!

… и пара базовых отчётов для примера CPU & RAM has changed.

imageПопросили сделать отчёт об изменениях RAM/CPU. Кстати, про RAM  уже есть в комплекте, называется: «Оборудование — Память > Компьютеры с измененной физической памятью». Только он — яркий пример издевательства над арифметикой, потому что сравнивать значения по ROUND(x, -3), это какое-то “параллельное” представление о процессах происходящих в мире ИТ. Однако, встроенные отчёты, пожалуй, основной источник информации о том, где брать эти самые данные (вьювки/таблицы/фукции/хранимки) из базы CCM, так что за это — отдельное спасибо разработчикам.

В этой части два простых отчёта, без перевода, без ресурсов, без нормального именования, не учитывающий наличия нескольких процессоров и т.п., но с поддержкой RBAC (Да, кстати, все эти понты с — «Мы поддерживаем RBAC» — ничего кроме названия и замены вьювок на одноимённые функции не означает. Продукт-группа о нас позаботилась). Основная цель этих простеньких отчётов – сразу показать изменения, подсветить знаковые показатели. Т.е. созданы они для подписки по e-mail. В параметрах – “коллекция устройств”, возможность исключить виртуальные машины, и показывать только изменённые в меньшую сторону показатели (память уменьшилась, частота CPU/кол-во ядер — упало).

  1. RAM has changed.rdl
  2. CPU has changed.rdl

Попутно убедился, что ресурсный файл русского языка не поправили, и то, что называется — “PreviousPhysicalMemoryMB”, так и указано, по-русски – “Предыдущий объем физической памяти (КБ)”.

Буду докидывать отчёты в этот пост

Некоторые отчёты которые делал для себя или комьюнити:

Далее “Step-By-Step” о том как загрузив отчёт *.rdl, запустить его в своём окружении, и на что ещё ОБЯЗАТЕЛЬНО надо обратить внимание.

  • Скачиваем *.rdl;
  • Загружаем *.rdl на “Report Point”;
  • Проверяем, что делает отчёт;
  • Меняем “Data Source”.

Тег «Далее»

Рубрики:SCCM, SSRS, Tricks

SCCM; OSD; WDS; PXE; UEFI & BIOS & DHCP options 66, 67. Часть 2: Vendor Classes

С периодичностью в неделю на профильных ресурсах возникает один и тот же вопрос – “У меня появилось устройство, загружающееся по UEFI и вот оно не загружается, в DHCP опцию 067 меняю, теперь UEFI — работает, а BIOS (legacy) нет”.

В первой части – “Часть 1: DHCP Relay Agent”, мы разбирались как с наименьшими трудозатратами поддерживать сразу все текущие платформы загрузки клиента (UEFI и BIOS) с помощью возможности WDS-сервера прикидываться DHCP-сервером и отдавать PXE-клиенту необходимый загрузчик.

Но что делать если мы не можем обеспечить возможность получать широковещательные запросы клиента (DHCP Discover) — WDS сервером? Например, для каждой подсети (домена широковещания) — настроен отдельный DHCP-сервер, который как бы, не желает делиться запросом PXE-клиента с WDS-сервером. Еще вариант, когда WDS-сервер и DHCP-сервер находятся на одном сервере, т.е. WDS не может прослушивать 67 порт, т.к. он занят DHCP.

Ответ простой — использовать возможность DHCP сервера — фильтровать запросы клиентов по “Option 60 — Vendor class identifier” (DHCP-Сервер на Windows Server начиная с версии 2012) или “Option 93 — Client System Architecture” (например, “ISC DHCP”). Кстати PXE-сервер тоже ориентируется именно на архитектуру клиента в Option 93) и в зависимости от них предоставлять клиенту разные ответы (DHCP Offer) с DHCP-опциями 66, 67 для поддержки каждой из платформ.

Vendor Classes Filtering

Тег «Далее»

Рубрики:OSD, SCCM, Tricks

SCCM; OSD; WDS; PXE; UEFI & BIOS & DHCP options 66, 67. Часть 1: DHCP Relay Agent

С периодичностью в неделю на профильных ресурсах возникает один и тот же вопрос – “У меня появилось устройство, загружающееся по UEFI и вот оно не загружается, в DHCP опции 67 меняю, теперь UEFI — работает, а BIOS (legacy) нет”.

Давайте разбираться.

Есть два способа правильно обрабатывать запрос клиента и выдавать ему правильный загрузчик.

  • “DHCP Relay Agent” — когда WDS Сервер сам определяет архитектуру загрузчика клиента и отправляет клиенту информацию с правильным загрузчиком;
  • “Vendor Classes Filtering” — т.е. продолжать использовать DHCP Options 66, 67, но с дополнительной фильтрацией клиентского запроса по “Vendor class identifier”.

DHCP Relay Agent

Тег «Далее»

Рубрики:OSD, SCCM, Tricks

SCCM; Ошибка установки Клиента: Silverlight.exe returned failure exit code 1612

image

Ошибка в ccmsetup.log

C:\Windows\ccmsetup\Silverlight.exe is Microsoft trusted.
Installing file 'C:\Windows\ccmsetup\Silverlight.exe' with options '/q'.
File 'C:\Windows\ccmsetup\Silverlight.exe' returned failure exit code 1612. Fail the installation.
InstallFromManifest failed 0x8007064c
Failed to connect to policy namespace. Error 0x8004100e
Failed to revoke client upgrade local policy. Error 0x8004100e
CcmSetup failed with error code 0x8007064c

Тег «Далее»

Рубрики:SCCM, Troubleshooting

SCCM; TS; Drivers by categories; in «Control freak» mode;

Или как «объяснить» Task Sequence-у, что предыдущий поиск драйверов по категориям не был успешным.

WCA-B301.wmv_snapshot_00.23.08_[2017.05.25_22.25.46]

Пожалуй, лучший доклад, который я видел на тему управления драйверами, это доклад Johan Arwidmark (@jarwidmark) — <A Drivers Saga: Mastering Windows Deployment>. Крайне рекомендую.

Тег «Далее»

Рубрики:SCCM, Tricks

PS; Get-ContentFromSCUPCatalog; Скачиваем MSI-файлы Adobe Flash Player и прочее из SCUP-Catalog

«Сначала прикололся, потом загнался»

Набор функций для скачивания файлов полученных из метаданных SCUP-Каталога.

Тег «Далее»

Рубрики:PowerShell, Updates

OSDPreStartTool; OSD Pre Check; ZTIGather.wsf & UserExit script; Несколько предварительных проверок;

image

* 2018-08-18 Добавлена ф-я «WarnValidateNetworkConnectivity», которая ожидает когда сетевой интерфейс инициализируется. Проверяет это заданное кол-во раз, через заданный промежуток. Теперь ф-ии «SleepMSeconds» и «WarnIPNotPresent», не нужны.

* 2018-08-14 Перезалил проект на GitHub. В последнем релизе был найден досадный баг, который по сути, не позволял использовать OSDPreStartTool. За сообщение спасибо “p g”.
+ обновил файлы MDT от 8450.

Пролог

Традиционные проблемы возникающие при установке ОС из SCCM/MDT, на этапе загрузки по PXE можно определить, как:

  • Отсутствует сеть, после загрузки по PXE;
  • Отсутствует сторадж;
  • Неправильное время в CMOS.

Ну и более экзотические:

  • USB флешка или прочий внешний диск подключен как устройство №0;
  • Возможность подключаться к консоли до запуска TaskSequence.

Однако визуально определить их на этапе загрузки не всегда представляется возможным, особенно не искушённому инженеру.

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

Решив поделиться своими наработками хотелось бы получить и фидбек. Может быть будут новые идеи, предложения, пожелания. А также указания на ошибки.

  • Как работает
  • Как включить
  • Как тестировать
  • Как добавить в boot-образ
  • Реализованные функции
  • Как выглядит
  • Эпилог

Тег «Далее»

Рубрики:MDT, OSD, SCCM, Troubleshooting