OM: OMS-Agent-for-Linux

https://github.com/Microsoft/OMS-Agent-for-Linux

Реклама

OM: Скрипт для сброса состояния монитора

Скрипт для сброса монитора в здоровое состояние (аналогично Reset Health в Health Explorer) по критерию:

$Server = "ServerName"
$Credentials = Get-Credential
New-SCOMManagementGroupConnection -ComputerName $Server -Credential $Credentials
$ResetAlerts = Get-SCOMAlert -Criteria "IsMonitorAlert = 1 AND Name = 'Failed to Connect to Computer' AND ResolutionState < 255"
foreach ($Alert in $ResetAlerts)
{
	$MonitoringRule = Get-SCOMMonitor -Id $Alert.MonitoringRuleId
	$MonitoringObject = Get-SCOMClassInstance -Id $Alert.MonitoringObjectId
	$MonitoringObject.ResetMonitoringState($MonitoringRule)
}

OM: Docker-Provider

https://github.com/Microsoft/Docker-Provider/releases

OM: SCXCore-kits

https://github.com/Microsoft/SCXcore-kits

PSScript: Определение архитектуры

Нашел скрипт в просторах интернета, который определяет архитектуру (битность) библиотеки и немного доработал его.

function Get-FilePlatform
{
    param
    (
        [ValidateScript({$_.Exists})]
        [System.IO.FileInfo]$FileName
    )
    [int]$PE_POINTER_OFFSET = 60;            
    [int]$MACHINE_OFFSET = 4;
    [byte[]]$Data = New-Object byte[] 4096;
    [IO.Stream]$Stream = New-Object IO.FileStream($FileName, [IO.FileMode]::Open, [IO.FileAccess]::Read)
    $Stream.Read($Data, 0, $Data.Length) | Out-Null
    [int]$PE_HEADER_ADDR = [BitConverter]::ToInt32($Data, $PE_POINTER_OFFSET);
    [int]$MachineUint = [BitConverter]::ToUInt16($Data, $PE_HEADER_ADDR + $MACHINE_OFFSET);
    switch($MachineUint)
    {
        0x0000 {"Native"}
        0x014c {"x86"}
        0x0200 {"Itanium"}
        0x8664 {"x64"}
    }
    $Stream.Close()
}

OM: Как закрыть активные алерты для здоровых мониторов

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

$Server = "ServerName"
$Credentials = Get-Credential
New-SCOMManagementGroupConnection -ComputerName $Server -Credential $Credentials
$ActiveAlerts = Get-SCOMAlert -Criteria "IsMonitorAlert = 1 AND ResolutionState < 255"
foreach ($Alert in $ActiveAlerts)
{
	$MonitoringRule = Get-SCOMMonitor -Id $Alert.MonitoringRuleId
	$MonitoringObject = Get-SCOMMonitoringObject -Id $Alert.MonitoringObjectId
	$MonitorList = New-Object System.Collections.Generic.List[Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitor]
	$MonitorList.Add($MonitoringRule)
	$MonitoringState = $MonitoringObject.GetMonitoringStates($MonitorList)
	if ($MonitoringState.HealthState -eq [Microsoft.EnterpriseManagement.Configuration.HealthState]::Success)
	{
		$Alert
		$Alert | Resolve-SCOMAlert -Comment "The alert was manually closed because the monitor is in healthy state."
	}
}

Необходимо задать переменную $Server, указав имя сервера управления Operations Manager, после чего запустить скрипт.

OM: Обновление VSAE

Вышло обновление для Visual Studio Authoring Extention! Данное обновление позволяет создавать пакеты управления в Visual Studio 2015. Скачать дополнение можно по ссылке http://www.microsoft.com/en-us/download/details.aspx?id=30169.