因此尝试使用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
奇怪的是,如果我使用相同的凭据进入DAG并运行Exchange命令行管理程序,一切正常。
答案 0 :(得分:1)
这可用于从远程交换服务器导入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作为执行操作的帐户运行,则您甚至不需要指定凭据。
答案 1 :(得分:0)
您需要将pscredential
对象传递给-Credential
参数。
您可以使用$cred = Get-Credential
然后-Credential $cred
答案 2 :(得分:0)
$ creds =获取凭据
$ sess = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://myserver.mydomain.com/PowerShell/-身份验证Kerberos-凭据$ creds
Enter-PSSession $ sess
获取邮箱xyz
退出
导入PSSession $ sess
获取邮箱xyz
。\ DoSomthing.PS1
删除PSSession $ sess