Rss

Консоль DPM 2012 падает с ошибкой при установке агента и других действиях

Ситуация: Консоль DPM 2012 падает с ошибкой при установке агента, создании группы защиты, добавлении ПК в группу защиты и вообще при многих действиях.
При этом появляется окно с сообщением вида:

Connection to the DPM service has been lost.

Review the application event log for information about a possible service shutdown. Verify that the following services are not disabled:
DPM
DPM Replication Agent
SQLAgent$SCDPM
MSSQL$SCDPM
Virtual Disk Service
Volume Shadow Copy

ID: 917

В журнале Приложений на сервере DPM будет событие

Event ID 7031

о том, что служба DPM была неожиданно остановлена:

The dpm service terminated unexpectedly

Ошибка возникает из-за того, что DPM не может аутентифицироваться в AD через логин вида Domain.local\login или login@Domain.local.

Исправить это можно правкой параметра в реестре:
Путь: HKLM\Software\Microsoft\Microsoft Data Protection Manager\Setup\
Параметр: SchedulerJobOwnerName
Заменить текущее значение на DOMAIN\Login

То же самое нужно сделать с параметром SqlAgentAccountName в той же ветке реестра.

Чтобы избежать этого в дальнейшем, нужно при установке DPM указывать NETBIOS имя домена.
Источник:Technet

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Outlook 2013 не открывает общие календари пользователей

После установки обновлений Outlook 2013 выдаёт ошибку «Нет соединения» или «No connection» при попытке открыть календари некоторых пользователей. Обновления KB2837643 и KB2837618 вызывают повреждения почтового профиля Outlook 2013 в среде Exchange 2007. Решение — удалить эти обновления и пересоздать почтовый профиль на ПК с данной ошибкой.

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Logon скрипт отрабатывает с задержкой

Если в Windows Server 2012 R2 или Windows 8.1 Logon-скрипт отрабатывает с 5 минутной задержкой, то можно это исправить с помощью параметра GPO.
Нужно установить ADMINPack для Windows 2012 R2 или Windows 8.1 и запустить панель управления групповыми политиками. Находим нужное GPO и меняем параметр:

Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Logon Script Delay

на Disabled.

Теперь Logon-скрипт будет отрабатывать без 5-ти минутной задержки.

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Не работает metro интерфейс на доменном ПК

После ввода в домен ПК с Windows 8 или 8.1, не запускаются Metro-приложения.

Решение:
Нужно разрешить объекту «Все пакеты приложений» чтение ветки HKCR. Или в английской версии: «ALL APPLICATION PACKAGES» read permission to HKEY_CLASSES_ROOT.

metro

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Русские буквы в SCCM 2007

Заметил, что при проверке данных инвентаризации, приложения с названиями на русском языке отображаются некорректно:
SCCM_01

Решением было изменение кодовой страницы, используемой поставщиком SMS:
SCCM_02

Т.е. в ярлыке запуска консоли администрирования дописываем sms:providerlocale=0419

В итоге русские буквы нормально отображаются:
SCCM_03

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Ошибка при установке обновления для .NET Framework 4

При установке обновлений на Microsoft .NET Framework 4, происходит сбой обновления с ошибкой вида:
01
Лечится следующими действиями:
- Скачиваем dotNetFx40_Full_x86_x64.exe с
- Запускаем CMD от имени Администратора
- Переходим с помощью команды CD в месторасположение скаченного ранее dotNetFx40_Full_x86_x64.exe
- Запускаем команду: dotNetFx40_Full_x86_x64.exe /x
- Указываем путь для распаковки
- Переходим с помощью команды CD в путь распаковки
- Запускаем команду: RGB9Rast_x86.msi
- Запускаем команду: netfx_Core_x86.msi EXTUI=1
- Запускаем команду: netfx_Extended_x86.msi EXTUI=1

Теперь можно повторить установку обновлений. На этот раз она пройдёт успешно)

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Изменение полосы пропускания для агентов DPM 2012

По какой-то странной причине, в DPM 2012 нет возможности менять полосу пропускания сразу для нескольких защищаемых ПК. Но нас спасёт PowerShell!
Итак. Имеем:
01

Несколько ПК для которых не задано поле Throttling.

Запускаем PowerShell для DPM 2012, и вводим следующую команду:

Get-ProductionServer -DPMServerName ИМЯ_ВАШЕГО_DPM_СЕРВЕРА

Получаем картинку вида:
02

Как видите, в списке есть как ПК с защищаемыми данными, так и те у кого нет никаких данных для защиты. Также в списке есть записи об удалённых ПК.

Теперь задаём параметры для максимальной полосы пропускания для агентов DPM:

Get-ProductionServer -DPMServerName ИМЯ_ВАШЕГО_DPM_СЕРВЕРА |foreach-object {if ($_.ServerProtectionState -eq «HasDatasourcesProtected») {$_.UpdateThrottlingSettings($True,10240,102400,8,19,$false,$true,$true,$true,$true,$true,$false)}}

В указанной выше команде задаются следующие параметры:
Throttling включён ($TRUE)
Полоса пропускания в рабочее время 10Mbps
Полоса пропускания во внерабочее время 100Mbps
Рабочее время с 8 до 19 часов
Рабочие дни: Понедельник-пятница (первый $False для Воскресенья, т.к. на Американский манер неделя начинается с Sunday)
Также параметр HasDatasourcesProtected означает, что полоса пропускания задаётся только для ПК имеющих данные для защиты. Дело в том, что при создании первой реплики, возможно, что объём передаваемых данных будет достаточно велик. И чтобы передача данных на сервер прошла быстрее, не вижу смысла ограничивать агентов по скорости.

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Failed to load the offline SOFTWARE registry (0×80070003)

При попытке захвата образа Windows 7 с машины через Task Sequence в SCCM, задание завершается с ошибкой вида:

Failed to load the offline SOFTWARE registry (0×80070003).

Причина:
При установке Windows 7, создаётся раздел размером до 100МБ. Во время работы Windows, этот раздел не виден. Пользователь с ним никак не взаимодействует. А когда SCCM пытается захватить образ, то этому разделу присваивается первая буква по порядку для жёстких дисков: C:
SCCM пытается считать параметры Windows с этого раздела, но неудачно, т.к. Windows на этом разделе нет.

Решение:
Нужно в задании Task Sequence сменить букву раздела, с которого идёт захват, на букву D:

Task_sequence_01

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Клиенты WSUS после клонирования

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

Лечится вот так (создаём CMD-файл):

rem === Останавливаем службу Windows Update
net stop wuauserv
rem === Удаляем идентификационные данные клиента Windows Update
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v PingID /f
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v AccountDomainSid /f
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientIDValidation /f
rem === Удаляем файловый кэш клиента Windows Update
del /f /s /q %WinDir%\SoftwareDistribution\*
rem === Запускаем службу Windows Update
net start wuauserv
rem === Вызываем форсированную перерегистрацию клиента Windows Update
wuauclt.exe /resetauthorization /detectnow

Чтобы в дальнейшем этого не происходило, создаём файл Sysprep.inf в каталоге с Sysprep.exe с следующим содержанием:

[GuiRunOnce]
Command0=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v PingID /f”
Command1=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v AccountDomainSid /f”
Command2=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientId /f”
Command3=”reg.exe delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /v SusClientIDValidation /f”

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki

Инвентаризация дисков на серверах с помощью SCCM Часть 2.

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

Нам поможет Power Shell.

Создаём файл с нашим скриптом:


# Выгружаем свежий отчёт. Внимание! Отчёт создаётся только на сервере SCCM или на его SQL сервере (если это разные сервера)! Никаким образом это изменить нельзя! Указанный на следующей строке диск D:\ находится на сервере где создаётся отчёт (SCCM или его SQL сервер). Как параметр, передающийся iexplore, мы вводим ссылку на наш отчёт (см. предыдущую статью), но добавляем в конец ссылки &ExportTo=D:\SCCM_Reports\Servers_Disks.csv Это параметр экспорта таблицы в CSV-файл.
start-process «C:\Program Files\Internet Explorer\iexplore.exe» «http://ИМЯ сервера отчётов SCCM/SMSReporting_MSK/Report.asp?ReportID=430&ID=MSK0005B&ExportTo=D:\SCCM_Reports\Servers_Disks.csv»

# Искусственная задержка чтобы отчёт не закрылся раньше, чем cгенерируется (он же не мгновенно генерируется) — пингуем не существующий хост.
ping 172.28.165.254

# Завершаем процесс IE, т.к. сам он закрываться не будет.
stop-process -name iexplore -force

# Переносим отчёт с шары на сервере отчётов SCCM на сервер с установленным Excel. Если это тот же сервер, на котором генерируется отчёт, то этот пункт можно опустить.
Move-Item -Path \\ИМЯ сервера отчётов SCCM\sccm_reports$\Servers_Disks.csv -destination D:\SCCM_Reports\ -Force

# Форматирование (чтобы всё было красиво)
# Задаём параметры входного и выходного файла

$inputFile = «D:\SCCM_Reports\Servers_Disks.csv»
$outputFile = «\\путь куда сохраняем файл\»+(get-date -format %dMMy)+».xlsx»

# Отправляем себе письмо, чтобы знать, что скрипт отработал корректно.
function sendMail($exception)
{
$smtpServer = «FQDN SMTP-server»

$msg = new-object Net.Mail.MailMessage

$smtp = new-object Net.Mail.SmtpClient($smtpServer)

$msg.From = «e-mail from»
# $msg.ReplyTo = «e-mail reply»
$msg.To.Add(«e-mail to»)
$msg.subject = «Servers_Disks done”
$msg.body = «Servers_Disks `n»+$exception

$smtp.Send($msg)
}

# Процесс форматирования таблицы

$processes = Import-Csv -Path $inputFile -Delimiter «,»
$objExcel = New-Object -ComObject excel.application
$objExcel.visible = $false
$objWorkbook = $objExcel.workbooks.add()
$objWorksheet = $objWorkbook.Worksheets.Item(1)

$objExcel.cells.item(1,1) = «Netbios Name»
$objExcel.cells.item(1,2) = «Device ID»
$objExcel.cells.item(1,3) = «Size»
$objExcel.cells.item(1,4) = «Free Space»

$i = 2

foreach($process in $processes)
{
$objExcel.cells.item($i,1) = $process.»Netbios Name»
$objExcel.cells.item($i,2) = $process.»Device ID»
$objExcel.cells.item($i,3) = $process.»Size»
$objExcel.cells.item($i,3).NumberFormat = «_(* #,##0_);_(* (#,##0);_(* «»-»»??_);_(@_)»
$objExcel.cells.item($i,4) = $process.»Free Space»
$objExcel.cells.item($i,4).NumberFormat = «_(* #,##0_);_(* (#,##0);_(* «»-»»??_);_(@_)»

$i++
}

$objRange = $objWorksheet.UsedRange
$ListObject = $objWorksheet.ListObjects.Add([Microsoft.Office.Interop.Excel.XlListObjectSourceType]::xlSrcRange, $objRange, $Null, [Microsoft.Office.Interop.Excel.XlYesNoGuess]::xlYes, $Null)

$ListObject.TableStyle = «TableStyleMedium2″
$ListObject.ShowTotals = $true
[void] $objRange.EntireColumn.Autofit()

$objExcel.DisplayAlerts = $false
$objWorkbook.saveas($outputFile)

$objWorkbook.Close()
$objExcel.Quit()

while( [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel)){}

Remove-Variable -Name inputFile
Remove-Variable -Name outputFile
Remove-Variable -Name processes
Remove-Variable -Name objExcel
Remove-Variable -Name objWorkbook
Remove-Variable -Name objWorksheet
Remove-Variable -Name i
Remove-Variable -Name objRange
Remove-Variable -Name ListObject

[gc]::collect()
[gc]::WaitForPendingFinalizers()

#Удаляем изначальный отчёт. Он уже обработан и теперь нам не нужен.
Remove-Item -Path D:\SCCM_Reports\Servers_Disks.csv -Force

# Собственно отправка письма с кодом ошибки (если есть).

sendMail($Error)

В планировщике задач создаём задание вида:
LD_03

В поле «Program/script:» пишем C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe, а в поле «Add arguments» путь к нашему файлу со скриптом (например -file D:\SCCM_Reports\Servers_Disks.ps1).

Устанавливаем расписание и строго по нему получаем файлы отчётов вида:
LD_05

Всё красиво)

P.S.: Если в процессе выполнения экспорта файла в Excel, на этапе сохранения, вы получаете ошибку вида Exception calling «SaveAs» with «1» argument(s): «SaveAs method of Workbook class failed», значит вы выполняете скрипт на Windows Server 2008/R2.
Создайте следующие папки на сервере, и проблема решится:
Windows 2008 Server x64
C:\Windows\SysWOW64\config\systemprofile\Desktop

Windows 2008 Server x86
C:\Windows\System32\config\systemprofile\Desktop

Поделиться в соц. сетях

Share to Google Plus
Share to LiveJournal
Share to Odnoklassniki