Как извлечь учетные данные из Sharepoint Secure Store


Переносил на днях базу данных используемую в External Type на сайте Sharepoint, и потребовалось уточнить от имени какой учётной записи производится доступ к базе данных. Всю цепочку настроек можно посмотреть через сайт управления кроме используемой учётной записи.

Нашелся вот такой простой скриптик, который выводит все Secure Store Target Application Id и соответствующие им логины и пароли:


$SecureStoreProvider=[Microsoft.Office.SecureStoreService.Server.SecureStoreProviderFactory]::Create()
$site = Get-SPSite -Identity $(Get-SPWebApplication -IncludeCentralAdministration | ?{ $_.IsAdministrationWebApplication}).Url
$SecureStoreProvider.Context = Get-SPServiceContext -Site ($site)
$SecureStoreProvider.GetTargetApplications() |  ForEach-Object {
Write-Host $_.Name
try {
$SecureStoreProvider.GetCredentials($_.ApplicationId) | ForEach-Object {
$Credential = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($_.Credential))
Write-Host "`t$($_.CredentialType): $($Credential)"
}
} catch  {
Write-Host "`t$($_)"  -ForegroundColor yellow
}
}
<div class="container">
<div class="line number1 index0 alt2"><code class="powershell plain"> </code></div>
</div>

Скрипт взят отсюда https://sharepointobservations.wordpress.com/2015/02/05/retrievingrecovering-secure-store-credentials/

SCOM – удаление старых групп с агентов


Агенты SCOM могут быть multihomed, иначе говоря могут отправлять отчёты нескольким серверам SCOM. При миграции SCOM это удобно: можно постепенно переносить MP пакеты и настраивать их на новом сервере Operations Manager, в то же время имея полный контроль на старой системе. Но в какой-то момент миграция заканчивается и с агентов нужно удалить старые MG группы управления. Читать далее

Exchange Server 2013 Management Pack Update


Вышло обновление для Exchange Server 2013 Management Pack (для System Center Operations Manager 2012 SP1 и старше). Исправлено несколько мелких ошибок ошибок.

Скачать можно тут https://www.microsoft.com/en-in/download/details.aspx?id=39039

Моё первое сообщение об этом MP — Exchange Server 2013 Management Pack Update

 

 

Еще раз об изменении часовых поясов в России — подписки SCOM


Оказывается SCOM чувствителен к изменению часовых поясов. Это касается только подписок. Если кратко, то подписки при создании запоминают указанный часовой пояс. Это удобно при создании подписок для пользователей находящихся в разных часовых поясах. Но создаёт проблему при изменении часовых поясов. В простейшем случае можно просто пересоздать подписки. Новые подписки созданные после установки обновления KB2998527 работают корректно.
Более подробно о проблеме и том, как её лечить описано с статье http://blogs.technet.com/b/scpferublog/archive/2014/10/09/new-time-zones-and-subscriptions-in-operations-manager.aspx

Exchange Server 2013 Management Pack Update


Наконец-то появился полноценный Management Pack для мониторинга Exchange Server 2013. Первый был по сути фикцией — просто показывал статусы здоровья серверов. Новый же MP не только в явном виде предоставляет сведения о всех компонентах от Managed Availability, но также счётчики производительности и массу всего прочего.

Подробности http://blogs.technet.com/b/momteam/archive/2014/10/29/exchange-server-2013-management-pack-update.aspx

Загрузка  http://www.microsoft.com/en-us/download/details.aspx?id=39039

PS: ставить надо как минимум на UR2 SCOM 2012, а лучше на последний UR — и надо обновить MP для Virtualization Library из этого UR.

Мониторинг сертификатов с помощью Operation Manager и Powershell


В доменной инфраструктуре удобно управлять сертификатами. Можно настроить внутренний CA, автоматическую выдачу сертификатов и перевыпуск при истечении срока их действия. В некоторых случаях это не работает. Например, для фермы терминальных серверов приходится выпускать, устанавливать и обновлять сертификаты вручную. И это не единственный случай, когда за сертификатами нужно следить, чтобы не пропустить момент, когда их необходимо заменить.

Поэтому возникает задача контроля за сертификатами.

Для этого можно использовать Powershell. Техника описана в статье Use PowerShell to Find Certificates that are About to Expire.

Для Powershell 3.0 получение просроченные сертификатов выглядит так:

Get-ChildItem -Path cert: -Recurse -ExpiringInDays 75

Для Powershell 2.0 тоже самое немного сложнее:

Get-ChildItem -Recurse | where { $_.notafter -le (get-date).AddDays(75) -AND $_.notafter -gt (get-date)} | select thumbprint, subject

Как настроить контроль сертификатов на множестве компьютеров? Для автоматизации удобнее всего применить Operation Manager, который может доставить скрипт на нужные компьютеры и сформировать алерт при необходимости. Как это сделать описано в статье OpsMgr: Monitoring Certificate Expiry with a Powershell-based Monitor.

Бонус статьи в том, что используемый Management Pack позволяет создавать произвольные мониторы на базе Powershell скриптов.

Так как мониторить нужно только «свои» сертификаты, а они установлены в контейнер Cert:\LocalMachine\My, то именно в этом контейнере будем проверять сертификаты. Если искать сертификаты от корня Cert:, то будет много алертов на корневые коммерческие сертификаты, а это нас совсем не интересует в рамках поставленной задачи.

Поэтому рабочий скрипт выглядит так:

$currentlocation = Get-Location

 

sl Cert:\LocalMachine\My

$thresholdindays = 90

 

$ExpiredCerts = Get-ChildItem -Recurse | where { $_.notafter -le (get-date).AddDays($thresholdindays)-AND $_.notafter -gt (get-date)} | select thumbprint, subject, notafter

 

$API = new-object -comObject «MOM.ScriptAPI»

$PropertyBag = $API.CreatePropertyBag()

 

if($ExpiredCerts.Length -gt 0) {

 

$OFS = «`r`n»

$result1 = [system.String]::Join($ofs, $ExpiredCerts)

$result2 = [string]$result1

$result2 = $result2 -replace «@{«, «»

$result2 = $result2 -replace «}», «»

$PropertyBag.AddValue(«State»,«ERROR»)

$PropertyBag.AddValue(«Description», «Expired Certificates: « + $result2)

}

 

else {

 

$PropertyBag.AddValue(«State»,«OK»)

$PropertyBag.AddValue(«Description», «ALL GOOD !!»)

}

sl $currentlocation

$PropertyBag

 

Теперь за три месяца (90 дней) до истечения срока действия сертификата вы получите в SCOM алерт, который будет висеть до замены сертификата или пока он не будет просрочен (или удалён).

Как из триального OpsMgr 2012 сделать полнофункциональный


Если вы установили триальную версию, а теперь решили, что вам нужна полнофункциональная рабочая версия, то переустанавливать System Center 2012 Operation Manager не нужно. Достаточно ввести ключ продукта. Как это сделать орписано в статье kb2699998:

1.       Open PowerShell as and Administrator
2.       Load the OperationsManager Module (import-module operationsmanager)
3.       Connect to your ManagementGroup (New-SCOMManagementGroupConnection)
4.       Use Set-SCOMLicense “yourlicensekey“
5.       To check if changes were executed run Get-SCOMManagementGroup | ft skuforlicense, version, timeofexpiration –a