3

因此尝试使用 PSSession 在本地运行 Exchange 命令行管理程序,但出现 AD 操作失败。

这是我的步骤

1)以管理员身份打开PSmodule

2)

Enter-PSSession -ComputerName DAG01 -Credential domain\user 

3)

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

4)

Search-Mailbox user -SearchQuery Subject:"anything" -EstimateResultOnly

这是我得到错误的地方。->

Active Directory operation failed on . The supplied credential for 'domain\user' is invalid.
+ CategoryInfo          : NotSpecified: (:) [], ADInvalidCredentialException
+ FullyQualifiedErrorId : [Server=CHGDAG01,RequestId=4f848ef8-264c-4db7-a4e8-2acf2dae560f,TimeStamp=5/13/2016 4:45

:55 PM] [FailureCategory=Cmdlet-ADInvalidCredentialException] 5533B753

奇怪的是,如果我使用相同的凭据 RDP 进入 DAG 并运行 Exchange 命令行管理程序,一切正常。

4

3 回答 3

2

您需要将pscredential对象传递给-Credential参数。

$cred = Get-Credential那时你可以使用-Credential $cred

在 technet 上获取凭据

于 2016-05-13T17:58:52.263 回答
0

这可用于从远程交换服务器导入 PSSession。

$Params = @{
    ConfigurationName = 'Microsoft.Exchange'
    ConnectionUri = "http://youexchangeserver.server.com/PowerShell/"
    Credential = ( Get-Credential )
    Authentication = 'Kerberos'
    Name = 'ExchangeSession'
}
Import-PSSession -Session ( New-PSSession @Params )

但是,我不明白你的工作方式,所以我会试试这个:

$Credential = Get-Credential
Enter-PSSession -ComputerName DAG01 -Credential $Credential
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

我会注意到,如果您将 PowerShell 作为执行操作的帐户运行,您甚至不需要指定凭据。

于 2016-05-13T18:10:26.910 回答
0

$creds = 获取凭据

$sess = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://myserver.mydomain.com/PowerShell/ -Authentication Kerberos -Credential $creds

然后严格执行交换命令

输入-PSSession $sess

获取邮箱 xyz

出口

或者做一些 PowerShell + Exchange 的东西

导入-PSSession $sess

获取邮箱 xyz

.\DoSomthing.PS1

删除-PSSession $sess

这是来自https://docs.microsoft.com/en-us/powershell/exchange/exchange-server/connect-to-exchange-servers-using-remote-powershell?view=exchange-ps上的信息

于 2020-03-19T18:34:46.460 回答