Назад | Перейти на главную страницу

Установка Exchange через удаленное взаимодействие Powershell

Я пытаюсь установить Exchange Cu 14 с сервера A на сервер B через пульт Powershell и команду Invoke.

Установка завершается успешно при запуске локально на сервере B от имени того же пользователя, вошедшего в систему ... Но не удаленно с помощью команды Invoke с другого сервера.

Работает на сервере A (упрощенная версия и правильные $ SetupPath и $ Params):

$ScriptBlock_ExchangeInstallation = {
            Start-Process $SetupPath -ArgumentList $Params -NoNewWindow    
}

$SessionOptions = New-PSSessionOption -MaxConnectionRetryCount 50 -IdleTimeout 86400000 -OperationTimeout 21600000
$SecPw= ConvertTo-SecureString "PwSuperSecure!" -AsPlainText -Force
$Creds = New-Object System.Management.Automation.PSCredential ("MrMarshall\Andreas.marshall", $SecPw)

   Invoke-Command -ComputerName "ServerB" -SessionOption $SessionOptions -ScriptBlock $ScriptBlock_ExchangeInstallation -ErrorAction Stop -Authentication Kerberos -Credential $Creds

В неудачных журналах Exchange. Я вижу ошибку:

[11/12/2019 21: 34: 18.0728] [0] [ERROR] Операция Active Directory завершилась неудачно. Предоставленные учетные данные для MRMARSHALL \ andreas.marshall недействительны. [11/12/2019 21: 34: 18.0728] [0] [ОШИБКА] Указанные учетные данные недействительны.

Мне кажется, что учетные данные не передаются правильно в DC во время установки. Есть идеи, как я могу начать установку другим способом?

Еще исключения.

Microsoft.Exchange.Configuration.MonadDataProvider.MonadDataAdapterInvocationException: операция Active Directory завершилась ошибкой. Предоставленные учетные данные для MRMARSHALL \ andreas.marshall недействительны. Выполнялась команда Get-OrganizationConfig. ---> Microsoft.Exchange.Data.Directory.ADInvalidCredentialException: операция Active Directory завершилась ошибкой. Предоставленные учетные данные для MRMARSHALL \ andreas.marshall недействительны. ---> System.DirectoryServices.Protocols.LdapException: предоставленные учетные данные недействительны.

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

Это некрасиво, но пока работает!

Я вызываю приведенный ниже код, чтобы запустить процесс локально на удаленных серверах.

$Action = New-ScheduledTaskAction -Execute $SetupPathUNC -Argument $MediaParametersExchangeCU14
$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -WakeToRun
Register-ScheduledTask -Action $Action -User "MrMarshall\andreas.marshall" -Password "Bytidag123!" -TaskName "Start_ExchangeInstallation" -RunLevel Highest -Settings $Settings -Force
Start-ScheduledTask -TaskName "Start_ExchangeInstallation" -ErrorAction Stop | Out-Null

while ((Get-ScheduledTask -TaskName 'Start_ExchangeInstallation').State  -ne 'Ready') {

    Write-Output "$(Get-Date) Waiting on scheduled task..." |  Tee-Object "$LogPath/_MainLog.txt" -Append
    Start-Sleep 60
}