Еще один вопрос PowerShell / BizTalk, но сначала немного предыстории:
У нас есть много (8 обрабатываемых, 2 изолированных) экземпляров хоста в одной среде разработчика.Один из экземпляров поврежден («Ошибка установки» как состояние в консоли администратора).Я увидел, что ему не хватает пароля, и попытался обновить его вручную.Не повезло, у меня был неправильный пароль, и это был тот же пароль, который был сохранен для учетной записи в нашей CMDB ... О, хорошо.Просто чтобы сбросить его и изменить на всех экземплярах хоста.
Ну, я хотел попробовать сделать это PowerShell.Это отчасти работает, но только если экземпляры находятся в ServiceState 8?ServiceState 4 (запущен) конечно выдает ошибку.Но так же ServiceState 1 (остановлено)?
Очень раздражает.Это сбой метода Install:
Исключение, вызывающее «Install»: «Произошла ошибка при установке службы NT NT BTSSvc $ Test_host. Проверьте следующее: 1) Предоставленные учетные данные верны и указан пользовательдля имени включена привилегия «войти в систему как служба». 2) Все окна службы консоли управления Microsoft (MMC) закрыты. Диспетчер управления службами окна не разрешит создание службы, если служба удалена, но на нее все еще ссылаютсяу открытого окна MMC. "
Код:
$hosts = Get-WmiObject MSBTS_HostInstance -namespace 'root/MicrosoftBizTalkServer'
foreach($hostinst in $hosts)
{
if ($hostinst.Logon -eq $acc)
{
if($hostinst.ServiceState -eq 1 -or 8)
{
write-host "Hostinstans" $hostinst.HostName "har ServiceState" $hostinst.ServiceState
$hostinst.Install($acc, $pw, "True")
Start-Sleep -Seconds 30
write-host "Hostinstans" $hostinst.HostName "har nytt lösenord och ServiceState" $hostinst.ServiceState
}
}
}
У кого-нибудь есть идеи?Меня это раздражает!
С уважением,
Иоаким