Домой Блог Страница 2

macOS, Microsoft Office 2016, Configuration Manager и Parallels — управляем обновлениями

0

Собрал пост по крупицам о том, как автоматизировать обновления Microsoft Office 2016 для macOS. Да, вот так вот внезапно. В посте присутствуют такие слова, как bash, python, powershell, docker, ConfigMgr, Parallels и всё только самое современное. ;) Ну, что? Поехали?

Предисловие

Идея в том, что у нас есть пачка девайсов под управление macOS на которых стоит Microsoft Office. Софт на них централизованно катится с ConfigMgr, какие-то апдейты для операционки из аппстора, а вот с офисом беда была. MS Office пока нет в маковском аппсторе, а обновлять и следить за ним очень надо, поэтому было решено, что нам требуется что-то, что будет его обновлять. ;)

Вы ведь знаете, как работают обновления для офиса на Windows? Microsoft выпустила апдейты, wsus отсинхронизировал каталог, вы скачали обновления и раздали их через WSUS или SUP у ConfigMgr, апдейт агенты отчитались с клиентов до WSUS и дальше процесс более-менее понятен. На macOS нет Windows Update Agent, маки не отчитываются на WSUS. Так что же нам с ними делать?

У Microsoft есть Microsoft AutoUpdate (MAU). Вот он и занимается проверкой версий и стучит в CDN Microsoft для проверки и скачиваний последних обновлений. MAU можно скачать здесь — https://docs.microsoft.com/en-us/officeupdates/release-history-microsoft-autoupdate

С версии MAU 3.18 и выше в /Library/Application\ Support/Microsoft/MAU2.0/Microsoft\ AutoUpdate.app/Contents/MacOS появилась консольная утилина msupdate. Весь список команд можно глянуть через ./msupdate —help
Вот она и занимается обновлением офиса. Что нам от неё надо? Она читает настройки из plist com.microsoft.autoupdate2, в котором мы уже можем настроить всё, что нам надо. Запомните главную вещь, настройки MAU берёт только из пользовательского плиста в ~/Library/Preferences/, это важно.

Но мы ведь хотим, чтобы обновления раздавались из внутренней сети, поэтому в первую очередь нам требуется утянуть из CDN все апдейты для офисных продуктов. В этом нам поможет powershell скрипт.
Всего есть 5 каналов поставки офиса: Production (ежемесячные релизы), External (или Insider Slow — ранний доступ), Internal (без понятия, но в документации присутствует), Custom (наш собственный) и InsiderFast (недельные релизы).

Внимание! Одна ветка Production занимает > 13 ГБ, если добавлять остальные, то выйдет > 25 ГБ.

.\psMacUpdatesOFFICEv2.ps1 -channel Production -IISRoot C:\inetpub\wwwroot -IisFolder maucache -TempShare C:\Temp

Скачали? Молодцы.

Первым делом нам надо раскатить на клиентов новую версию MAU, чтобы полностью контролировать ситуацию. Для тех, у кого управление маками нативное через ConfigMgr, то развлекайтесь сами с конвертацией pkg пакета, у меня всё это давно перестало работать на High Sierra. В Parallels все ставится через пакет: installer -pkg Microsoft_AutoUpdate_4.0.18061000_Updater.pkg -target /
И всё, раскатили MAU.

Далее, нам же нужно куда-то сложить 25 гигов, чтобы клиенты могли забрать. Вариантов несколько.

Вариант первый — используем нашу точку распространения на ConfigMgr, а точнее наш IIS. Только нужно чуточку подшаманить.


В Default Web Site создадим директорию, которая будет слинкована на UNC путь, где у нас будут лежать апдейты. Не на диск же Ц всё это складывать. ж) И не забываем добавить MIME types, а то IIS ничего не знает про файлы форматов dmg/pkg и будет возвращать 404.


.dmg — file/download
.pkg — file/download

Вариант два — засунуть всё это в докер образ и с выходом очередных апдейтов для офиса просто делать ребилд докер контейнера.
За основу возьмем контейнер nginx из докерхаба и в две строчки в dockerfile соберём контейнер с апдейтами.

docker build -t office-updates .

Запуск docker run —name office-updates -d -p 8080:80 office-updates

После запуска nginx отдаёт нам всё, что надо.

Вариант два с половинкой — маунтить волюмом в докер шару с апдейтами. Здесь билд уже будет проходить за 3 секунды.

Так, теперь клиенты у нас по http смогут забрать апдейты. Пора разобраться, как им объяснить, где же их забирать и как контролировать этот процесс.

В ConfigMgr у нас есть замечательная штука под названием Configuration Items. Все настройки MAU берёт из пользовательского com.microsoft.autoupdate2. Читаем его: defaults read com.microsoft.autoupdate2 и видим что-то подобное.

В плист надо добавить несколько настроек. Я думаю, что из названия самих настроек всё понятно, кто и что делает. Если нет, то самый подробный документ, I’ve ever seen, лежит здесь и тут. Частота проверки указывается в минутах. Для разных коллекций, могут быть разные настройки и разные каналы обновлений офиса, чтобы мы могли проверить новый релиз на тестовых клиентах.

Нас интересуют эти настройки:

HowToCheck -string AutomaticDownload
DisableInsiderCheckbox -bool TRUE
ChannelName -string ‘Custom’
ManifestServer -string ‘http://srv-sccm-ps/officeupdates/’
UpdateCache -string ‘http://srv-sccm-ps/officeupdates/’
UpdateCheckFrequency -int 240
SendAllTelemetryEnabled -int 0

Но, как выяснилось в процессе тестирования для того, чтобы MAU начал обновлять, то его необходимо ассоциировать по версиям с приложениями Офиса. Значит перед тем, как раздать все настройки в плист, требуется на клиентах сделать всё красиво.

Мы возьмём текущую сессию пользователя, прогоним все приложения Офиса по версии и запишем всё, что нам надо в пользовательский com.microsoft.autoupdate2 вот таким скриптом.

Скрипт для проверки настроек.

Что нам с этим всем делать? Надо создать Configuration Items и всё. ж)

И поймать Success на выходе.

Все логи MAU смотрим в /Library/Logs/Microsoft/autoupdate.log

Как мы видим, клиент успешно забирает xml, если MAU видит, что билд Офиса сменился, там же в логе вы увидите и процесс установки.

Несколько лайфхаков. ж)

Если в stdout вернется еще что-нибудь кроме Success, то клиент будет все равно Non-Compliant. Возможно, что это такое поведение самого агента Parallels. Про ConfigMgr уже не знаю.

Если записываем через su $CurrentloggedInUser -c defaults write /Users/$CurrentloggedInUser/Library/Preferences/com.microsoft.autoupdate2, то плист поломается. Что агент ConfigMgr, что агент Parallels уже всё выполняют с повышенными привилегиями. Не забывайте делать бэкапы плистов, просто поднимать интерактивную сессию sudo -i и там уже проверять, что всё работает так, как надо.

Главный лайфхак. В Windows 10 инсайдер билд notepad уже должен нормально работать с файлами, созданными в Unix, Linux и macOS, но если вы залили шелл скрипт на свою точку распространения, добавили в пакет, поправили файл в блокноте на WS2012 R2, например, то всё, всё сломалось. ;) Помните про это, т.к. после многочасовых траблшутингов можно долго бить себе фейспалмы.

ChatOps: управление инфраструктурой из мессенджера

0

В докладе рассказывал, как с помощью мессенджеров и ботов можно автоматизировать различные задачи, используя Microsoft Azure, System Center, Microsoft Bot Framework, Microsoft Cognitive Services (QnA Maker) и сторонние NLP.

Как скачать msi файлы для Adobe Flash через powershell

8

Да, да, заголовок от бога. ;) Это не какой-то rocket science, но просто, вчера, в телеграм канале https://t.me/MicrosoftRus, заикнулся про кусок скрипта, а раз проголосовало больше 100 человек, то надо выложить.

На самом деле, это часть одного большего скрипта, который качает много чего еще сам. Я же просто выкладываю его маленькую часть. ;)

Главная фишка, что он просто забирает всегда последнюю версию, ничего придумывать не надо и складывает на c:\download

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

Да, у нас же еще есть System Center Updates Publisher (SCUP). Ну, его нафиг, я и без него отлично справляюсь. ;) Если вам интересно, то я могу и остальное повыкладывать, там для разного ПО есть. Пишите в комментариях и подписывайтесь на телеграм — https://t.me/MicrosoftRus, а если нет телеграма, то можно на страницу в фейсбуке — https://www.facebook.com/itproru/

Берем код, запускаем, профит.

Кстати, еще, для хейтеров: Adam не гордится стилем программирования, используемым в этом примере, но это работает. Как я хочу сказать: «Если это работает и это сделано тупо, то это не тупо». (Adam Neat)

 

Telegram: канал @MicrosoftRus, чаты @ConfigMgr, @OpsMgr и бот @SystemCenter_Bot

5

Коллеги, я знаю, что постов становится все меньше и меньше, т.к. совсем не хватает времени, а помогать и взаимодействовать с коммьюнити очень хочется, поэтому я уже больше месяца веду канал в телеграме ITpro News & Reviews — https://t.me/MicrosoftRus, где собираю все самое интересное о Microsoft, Windows Server, System Center, Azure, Office 365, OMS и прочее. Плюс, совместно с Microsoft Developer (@msdnru), еженедельно, я собираю дайджест самых интересных новостей или событий в мире ITpro. Их можно найти в их группах в FB, VK, Twitter и Telegram.

Часть записей теперь собирается на telegra.ph сервисе (такой аналог medium.com). Это проект от telegram для лонгридов, я использую его, когда надо вставить уже несколько картинок или видео в пост. Плюсов здесь много, т.к. он работает быстро и имеет быстрый просмотр (instant view) в мобильном клиенте. Кроме всего этого, telegram имеет встроенный плеер для видео, нативно проигрывает gif и в целом очень быстро работает.

Подписываемся https://t.me/MicrosoftRus

Наши каналы по Configuration Manager — https://t.me/configmgr и Operations Manager — https://t.me/OpsMgr продолжают расти, поэтому если у вас есть вопросы, то лучше обращаться сразу туда. Если вы по каким-то причинам не пользуетесь Telegram, то у нас есть группа в Facebook — SCCM User Group Russia — https://www.facebook.com/groups/sccm.russia/. К сожалению, на вопросы в почту я просто не могу больше отвечать, т.к. их приходит овер много. ;)

В каналах уже обсудили много вопросов, поэтому можно смело использовать поиск, в телеграме он работает очень быстро. Дополнительно, в каналах собирается документация и разные полезные тулзы, так например, в канале по SCOM можно найти сторонние management pack и тулзы.

Для помощи у нас есть свой бот — @SystemCenter_Bot, который встречает при входе в канал, но на этом его функции не заканчиваются. Это inline бот, к которому можно обращаться в любом диалоге, чате или группе в телеграм (аля бот с гифками @gif). Сейчас он умеет искать по документации docs.microsoft.com в разделах по ConfigMgr и по всем остальным разделам + позволяет выбирать язык поиска между русским и английским. Как и где использовать бота? Очень часто люди задают вопросы, а то и по несколько раз на дню, которые подробно описаны в документации, вот этот бот как раз для таких случаев.

Еще бот собирает записи за последние 36 часов с блогов и ресурсов, которые пишут про Configuration Manager, сейчас их порядка 116, и постит в канал @ConfigMgr, чтобы вы были в курсе всех последних новостей в мире ECM (Enterprise Client Management). Может быть, если кому-то будет интересно в дальнейшем, то я сделаю возможность подписки, чтобы бот просто рассылал тем, кто заинтересован, но не хочет сидеть в канале. Сейчас у бота есть команда /rss, которая хранит в себе просто данные, которые он запостил в канал. Может быть, я сделаю что-то подобное и для Operations Manager.

В дальнейшем, я планирую добавить возможность парсинга раздела по Configuration Manager с форума Technet — https://social.technet.microsoft.com/Forums/ru-RU/home?forum=smsru, чтобы видеть оперативно все вопросы, на которые еще не дали ответы и бот будет постить их в канал.

Ну и самое интересное, сейчас я обучаю бота ответам через Q&A сервис, который Microsoft презентовали на Microsoft Build 2017 в составе своих когнитивных сервисов, чтобы ему уже можно было просто задавать вопросы и быстро получать ответы. Вы отдаете свой вопрос через API qnamaker’a и он возвращает вам JSON. У каждого ответа сервис оценивает Score, назовем его вероятность правильного ответа, но если что-то пошло не так, вы всегда можете его поправить, занимаясь ручным обучением.

Ниже видно, как примерно это работает в тестовой среде. И при этом, вы можете через API подключить эти ответы куда угодно, будь то это telegram или skype бот (можно еще почитать про Microsoft Bot Framework).

Есть у них крутая штука под названием Azure Machine Learning — Text Analytics, но она пока не работает с русским текстом. Для английского выводит ключевые слова, а вот русские текст просто разбивает до знаков препинаний и возвращает что-то вроде этого:

но я надеюсь, что в будущем все будет, т.к. это даст боооольшие возможности для анализа текст, при этом не надо поднимать все у себя. Про Cognitive Services можно почитать здесь — https://azure.microsoft.com/en-us/services/cognitive-services/

Разбираемся с Windows 10 S от Microsoft

0

Итак, 2 мая была конференция Microsoft #EDU, на которой мы увидели новые ноутбуки Surface Laptop (можно почитать в нашем канале в телеграме — https://t.me/MicrosoftRus, там будет не только про ноутбуки, но и обзор самой конференции), показала то, как они видят будущее для школьников и студентов, и представила еще одну редакцию ОС Windows 10 S, ранее известная как Windows 10 Cloud. Можно сказать, что эта редакция создана для образовательных учреждений, т.к. система будет бесплатной для школ, в которых уже используются компьютеры под управлением Windows 10 Pro + это ответ от Microsoft в сторону Google с их ChromeOS.

Windows 10 S можно использовать только приложения из Windows Store (ради безопасности, глядишь порядок наведут в магазине приложений), включая программное обеспечение Win32, которое было добавлено в Store (Магазин) при помощи технологии Desktop Bridge.

«Using the Desktop Bridge to bring desktop apps to the Windows Store» с channel9, как это работает:

При попытке использовать приложение, которое недоступно в Магазине Windows, вы увидите напоминание, что используемые с Windows 10 S приложения должны быть получены из Магазина Windows, как на картинке.

Устройства с Windows 10 S появятся этим летом по цене 189 долларов и выше от партнеров Acer, Asus, Dell, Fujitsu, HP, Samsung и Toshiba.  Любой пользователь сможет обновить Windows 10 S до Pro редакции за $49,99.

Чем отличается Windows 10 S от Windows 10 Home и Pro?

Кроме этого, показали Intune for Education, т.к. Windows 10 S поддерживает управление через MDM канал, Microsoft Teams for Education, редакцию Minecraft, внутри которой можно программировать на javascript для автоматизации своих действий в игре и много всего остального, что не вяжется с it pro. ;)

Полная запись конференции доступна здесь — http://event.microsoft.com/MayEvent/

И не забывайте, что у нас есть много каналов в телеграме:

Windows 10 Creators Update доступна для обновления

0

Если вы хотите получить обновление раньше всех, то можно легко скачать новую Windows 10 Creators Update через Update Assistant. Я писал об этом в нашем новостном канале в телеграме — https://t.me/MicrosoftRus

Для этого вам потребуется скачать Update Assistant — https://go.microsoft.com/fwlink/?linkid=845981 и запустить. ;)

И напоминаю, что у нас есть несколько каналов в Telegram:

 

upd: образы появились на msdn и можно скачать триал в evaluation центре, если нет подписки:

Windows 10 Enterprise, version 1703 | 64-bit ISO
Windows 10 Enterprise, version 1703 | 32-bit ISO
Windows 10 Enterprise LTSB 2016 | 64-bit ISO
Windows 10 Enterprise LTSB 2016 | 32-bit ISO

upd2: обновленный Windows ADK 1703 — https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit

Напоминаю, что уже вышло обновление System Center Configuration Manager Current Branch 1702, которое полностью поддерживает Windows 10 1703.

Через тернии к SCCM 1606 и Windows 10 1607

8

Этот пост для модных и четких пасанов, которые идут в ногу со временем и катят свежие релизы, у кого SA на винду и вообще хотят быть в тренде. ;))

Ладно, а если серьезно, Microsoft уже больше года, как изменила весь процесс выхода новых релизов для многих своих продуктов, т.к. этот блог про Configuration Manager и прочий Enterprise Client Management, то давайте разберемся, что делать, т.к. развлечений хватает и главное это разложить все по полочкам у себя в голове.

Самое главное, если вам нужна Windows 10 и вы собираетесь переходить на Windows 10, то вам в любом случае надо обновляться до SCCM Current Branch. SCCM 2012 R2 SP1 с кумулятивными апдейтами для вас не подходит. Если таких задач не стоит, то оставайтесь на SCCM 2012 R2, но помните, что любая поддержка рано или поздно заканчивается. Большой холивар по этому поводу был в нашей группе в фейсбуке — SCCM User Group Russia — https://www.facebook.com/groups/sccm.russia/ и на канале в телеграме — https://telegram.me/configmgr (присоединяйтесь, т.к. весь свежак там)

Второй важный момент про который все забывают. Для Windows 10 у нас есть 3 релиза — Windows 10 Current Branch, Windows 10 Current Branch for Business, Windows 10 LTSB (Long-Term Servicing Branch). Все подробно расписано здесь — https://technet.microsoft.com/ru-ru/library/mt574263(v=vs.85).aspx Если вы не поняли, что там к чему, то пишите в комментариях. Из статьи стоит понять одну основную вещь, что время поддержки Current Branch релиза всего 12 месяцев. Многих удивляет это. Так например, поддержка sccm 1511 и Windows 10 1511 уже закончилась, и хотите этого или нет, то вам необходимо обновляться на новые версии. Эта ситуация не касается версий LTSB, например для Windows 10 LTSB 2016 основной цикл поддержки до 2021 года, расширенный до 2026. Все даты можно глянуть тут — https://support.microsoft.com/en-us/lifecycle/selectindex

И третий пункт. Что делать со всем этим, если хотим полностью соответствовать трендам? Ну вот, сейчас и разберемся.

Для полной поддержки обновлений Windows 10 нужен Windows Server 2012 R2 (на самом деле WSUS/SUP на Windows Server 2012R2 / 2016), поэтому если ваш сайт-сервер крутится под Windows Server 2008 R2, задумайтесь о переходе уже сейчас. У нас есть как минимум два способа: миграция сайт-сервера через процедуру восстановления сайт-сервера ConfigMgr — поднимаем рядом новую ВМ с WS Server 2012 R2 и проходим восстановления сайта на новой системе; или в SCCM 1602 появилась возможность выполнить in-place апдейт Windows Server 2008 R2 до Windows Server 2012 R2 — https://docs.microsoft.com/ru-ru/sccm/core/plan-design/changes/whats-new-in-version-1602 Составить какое-то представление о переходе можно по паре постов у меня: раз и два.

Если у вас SCCM 1511 или SCCM 1602, то можно обновиться до SCMM 1606: SCCM 1511 -> 1602 -> 1606 или 1511 -> 1606.

Если у вас SCCM 2012 R2 SP1 (тут какое-то последнее CU, я уже счет потерял всем версиями и апдейтам ;) ), то обновляемся до SCCM 1511 и затем до 1606.

Сам процесс обновления между билдами версии Current Branch описывать смысла не вижу, т.к. в большинстве случаев все проходит гладко, next — next — готово + на просторах интернета полно статей-картинок, где этот процесс описывается.

Кроме этого, не забываем про поддержку базы данных — https://docs.microsoft.com/en-us/sccm/core/plan-design/configs/support-for-sql-server-versions Самое вкусное у нас в SQL 2016, с новым SSRS, интеграцией PowerBi и языком R.

После обновления, скачиваем и устанавливаем Windows ADK 10 1607 — https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit, ниже таблица из блога продуктовой группы о поддержке разных версий.

Windows 10 ADK Version

ConfigMgr Version 1507 1511 1607
1511 Supported Supported
1602 Supported Supported 1 Supported 2
1606 Supported 1 Supported

1 — Windows ADK 10 1511 обеспечивает базовую совместимость и может быть использован для захвата образов, раскатки образов, добавление драйверов, но рекомендуем обновиться до последней версии Windows ADK; 2 — Последний Windows ADK требуется для деплоя Windows 10 1607.

Как обновить Windows ADK 10 1607?

Удаляем старый Windows ADK, устанавливаем новый Windows ADK 1607, перезагружаем ВМ. Есть нюансы в том, что рекомендуется использовать стандартный путь установки и не менять его, т.к. часто путь на пакет USMT ссылается именно на каталог установки Windows ADK. Так что обязательно проверяйте этот момент. Плюс, я рекомендую обновлять Windows ADK до установки апдейта SCCM 1606.

Что делать с Windows PE?

Ну, а что с ними делать? Обновлять. ;) Есть несколько способов.

  1. Забрать бутовые образы в каталоге C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment и добавить в Boot Images;
  2. Воспользоваться скриптом по регенерации образов — https://gallery.technet.microsoft.com/RegenerateBootImageWinPE10-f508f1e4
  3. Если используете MDT, тогда обновляем еще и MDT, и пересобираем бутовые образы для него, дополнительно можно воспользоваться, например, таким скриптом для переноса драйверов — https://gallery.technet.microsoft.com/Import-boot-image-drivers-c43e04da/ Поддержка Windows 10 1607 появилась в билде 8443 — https://blogs.technet.microsoft.com/msdeployment/2016/11/14/microsoft-deployment-toolkit-8443-now-available/ В целом готовьтесь повторять эти процедуры, т.к. выходит новый билд Windows, выходит апдейт на Configuration Manager, появляется новый WADK и т.д.

Помните, что потребуется поставить галку «Deploy this boot image from PXE-enabled distribution point» в свойствах бутового образа и заменить в свойствах последовательностей задач (Properties — Adcandes — Use a boot image). Проверяем компоненты внутри бутовых образов, если вы используете пош, китайский язык или еще что-нибудь. ;)

Итак, у нас теперь Windows Server 2012 R2, SCCM 1606, последний Windows ADK 10 1607, но на этом все не заканчивается, теперь нам нужна полная поддержка WSUS для работы с фича апдейтами для десятки.

Ставим для WSUS KB3159706 — https://support.microsoft.com/en-us/kb/3159706 Внимательно выполняем все, что сказано в описании к обновлению, про Get-HotFix не говорю, понятно, что проверяем, вдруг уже все ставили.

За компанию забираем шаблоны GPO — Administrative Templates (.admx) for Windows 10 and Windows Server 2016 — https://www.microsoft.com/en-us/download/details.aspx?id=53430

Обновляем клиентов до Windows 10 1607.

Всё веселье здесь. Итак, что мы имеем? Способов обновления несколько. ;)

  1. Клиент просто скачивает апдейт Windows 10 1607 из интернета;
  2. После обновления KB3159706 для WSUS, там появляется новый класс обновлений Upgrades, который, кстати, мы не забываем включать. Вот как раз в нем и идут фича апдейты (можно читать как сервис пак или Windows Servicing) для Windows 10. Подтверждаем обновление на WSUS, ставим на клиентов;

3. Ставим апдейт через SCCM 1606: список апдейтов лежит в Windows 10 Servicing. Процедура такая же, как с апдейтами на SUP (Software Update Point), скачиваем обновление, создается Deployment Package, деплоим на коллекцию.

4. In-place upgrade. Как вы помните, в current branch релизе 1511 появился шаг при создании последовательности задач (task sequences) — Upgrade an operating system from an upgrade package. Для этого нам необходимо просто распаковать ISO с Windows 10 1607 и добавить в Operating System Upgrade Packages, создать последовательность и задеплоить на клиентов. Профит.

Но! это идеальный вариант, т.к. всегда что-нибудь пойдет не так и оно пойдёт. ;)

Обязательно необходимо добавить MIME-types ESD на IIS WSUS’a, т.к. это одна из самых частых проблем.

File name extension: .esd MIME type: application/vnd.ms-cab-compressed

Логи по апдейту до Windows 10 1607 лежат на системном диске в $Windows.~BT — Setupact.log и setuperr.log. Часть клиентов может получить ошибку (0xC1800118). Один из вариантов лечения обновить агента SCCM до последней версии, т.к. бывает так, что девайс может долгое время не появляться в сети.

Другое решение описано в KB3194588. Даже если вы установили обновление для поддержки апдейтов на Windows 10, часть клиентов может сыпать вот такими ошибками:

И как мы видим, якобы «File is encrypted, but no key was provided», но если подключиться к базе WSUS — \\.\pipe\MICROSOFT##WID\tsql\query и выполнить:

Мы увидим, что если значение больше 0, значит у нас проблемы. ;)

Все дело в том, что нет Decryption ключей в базе для файлов ESD. Там просто все NULL.

Надо немного подшаманить с WSUS.

Помните про название в обновлениях, это относится к $1607Updates = $s.SearchUpdates(«версия 1607»)

Затем удаляем файлы из таблицы tbFile:

Синкаем апдейты по новой:

Вот, теперь другое дело.

Должно быть вот так:

Нюансы с активацией Windows 10 LTSB 2016

Для активации LTSB релиза, вам необходимо на KMS сервере добавить KMS ключ от Windows Server 2016 DataCtr/Std и убедиться, что есть оба этих апдейта: KB3172614 + KB3058168 Для этого идем на свой портал лицензий, забираем ключ и добавляем на KMS хост:

  • добавляем kms ключ: slmgr -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (Win2016KMS Host Key)
  • активируем: slmgr -ato
  • проверяем: slmgr -dlv

По мере поступления новой информации, буду обновлять пост.

Не забывайте, что у нас есть группа в фейсбуке, телеграм чат по Configuration Manager’y, теперь еще и чат по Operations Manager’y и флудилка IT Talks.

Telegram, powershell и готовим нотификации для Microsoft System Center — часть 1

6

Добрый день, коллеги. Возможно, что когда-нибудь я напишу статью о возможностях телеграма и почему он такой крутой, и что все вайберы, ватсапы давно остались позади, но сегодня мы разберем, как заставить его работать на нас. Когда-то давно, я пытался разобраться, как сделать свои уведомления в Lync/Skype for Business используя Orchestrator. Задача была в том, что хотелось в рамках RunBook’ов в System Center Orchestrator отправлять уведомления о разных событиях, но Microsoft до сих пор не сделают Integration Pack для этого. Понятно, что там просто есть нюансы платформы. Если вы используете SCOM, то там есть интеграция с Lync’ом и можно подписываться на события. Удобно? Удобно.

Я не буду подробно описывать процесс регистрации бота в телеграме, т.к. все инструкции есть, если вы добавите в контакты Отца Ботов ;) (@BotFather). /newbot  — создание нового бота, /setname — его имя в ростере и /token — сам токен, который мы будет использовать в дальнейшем, остальные команды по-желанию.

telegram_microsoft_systemcenter_notification_1 telegram_microsoft_systemcenter_notification_2

После создания бота, добавляем его в наш канал и читаем Telegram Bot API. Нас интересует раздел sendMessage для которого мы скормим JSON и передадим по http.

telegram_microsoft_systemcenter_notification_3

Листинг powershell скрипта до ужаса простой.

Самое главное это добавить ваш токен, который выдал вам @BotFather. Затем в скрипт передаем 2 параметра -id и -message. ID — это id канала или пользователя, ниже будет, где брать эти ID и message — само сообщение.

.\telegram2.ps1 -id «-1001063999033» -message «Отправляем сообщения через Telegram Bot API — подробности на masyan.ru»

telegram_microsoft_systemcenter_notification_4

А где брать ID канала или пользователя? У телеграма два способа общения с ботами. Первый это бот забирает с серверов телеграма данные, либо использовать вебхук (webhook), но это отдельная история и о ней мы поговорим, когда разберемся, как тоже самое делать в slack’e.

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

telegram_microsoft_systemcenter_notification_5

Из этого вывода нас интересует раздел chat и его id. Вот его то и подставляем в параметры скрипт, как ID.

Во второй части посмотрим, где это можно использовать с пользой.

Напомню, что у нас есть клевая группа в фейсбуке по SCCM — https://www.facebook.com/groups/sccm.russia/, где уже больше сотни человек и каждый день там появляются разные интересные вопросы, так что присоединяйтесь.

Кроме этого, у нас создан канал в телеграме — IT Talks — https://telegram.me/ittalks Я не знаю, что из этого получится, но время покажет. И отдельный канал по SCCM — https://telegram.me/configmgr Он пока малочисленный, но пусть будет.