iT邦幫忙

0

請問Exchange Server 2016怎麼調整設定WinRM服務,讓Client透過PowerShell遠端的Exchange Server??

  • 分享至 

  • xImage

目前
#Exchange Server(mail.abc.com)
1.Exchange Server 2016開啟接聽WinRM(HTTPS)->本機測試可以連到服務
2.Exchange Server 2016防火牆也對了對應WinRM(HTTPS)的port(5986)->telnet有反應
3.IIS 已新增了功能「WinRM IIS Extension」

#Client
1.已安裝Exchange Management Shell
2.已有PS連Exchange的相關命令

PS下的命令

PS <C:\> $LiveCred = Get-Credential
PS <C:\> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://mail.abc.com/PowerShell-LiveID/ -Credential $LiveCred -Authentication Basic -AllowRedirection

警告:您的連線已被重新導向到下列 URI:“https://mail.abc.com/PowerShell-LiveID?PSVersion=4.0"
New-PSSession: [mail.abc.com]連線到遠端伺服器 mail.abc.com 失敗,傳回下列錯誤:WinRM 給HTTP 伺服器,且收到一個回應說明要求的 HTTP URL 無法使用。
這通常是由不支援 WS-Management 通訊協定的 HTTP 伺服器所傳回,如需詳細資訊,請參閱about_Remote_Trobleshooting 說明主題。

要詢問各位高手,Server信箱的服務目前是正常的,需要可以透過PS遠端控制,需做那些調整與設定?

P.S
@Exchange Server服務目前是正常的
@兩台電腦都在同網段(10.10.1.x)裡面,也有加入網域(*.abc.com)了!

2018/09/17 遇到的問題

不走IIS站台,採用內部WinRM

PS C:\> Set-Item wsman:\localhost\client\trustedhosts "mail.abc.com"

WimRM 安全性設定 
這個命令會修改WinRM用戶端的TrustedHosts清單。TrustedHost
清單中的電腦可能未通過驗證。用戶端可能會傳送認證資訊給這些電腦。您確定要修改這個清單嗎?
[Y]是(Y)	[N]否(N)	[S]暫停(S)	[?]說明(預設值為"Y"): Y

PS C:\> Get-Item wsman:\localhost\client\trustedhosts

	WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
Type			Name			SourceOfValue		Value
----			----			-------------		-----
System.String	TrustedHost							mail.abc.com

PS C:\> $sec_pwd = ConvertTo-SecuresString "密碼" -AsPlainText -Force;

PS C:\> $LiveCred = New-Object System.Management.Automation.PSCredential("帳號@abc.com",$sec_pwd);

PS C:\> Enter-PSSession -Computer mail.abc.com -Credential $LiveCred

[mail.abc.com]: PS C:\> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

[mail.abc.com]: PS C:\> Get-MailboxDatabase -Status | select ServerName,Name,DatabaseSize

上的Active Directory作業失敗。為 'abc\帳號' 提供的認證無效。
	+ CategoryInfo 			: NotSpecified:(:) [] ADInvalidCredentialException
	+ FullQualifiedErrorId 	: [Server=mail , RequestId=e6ad30fe-14cb-4d14-8b68-211100454621,TimeStamp=2018/09/17 上午 02:44:34] 
	[FailureCategory=Cmdlet-ADInvalidCredentialException] 8D3E650C

遇到了「的Active Directory作業失敗。為 'domain\帳號' 提供的認證無效」

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2018-09-14 11:30:03 檢舉
https://docs.microsoft.com/zh-tw/powershell/exchange/exchange-server/connect-to-exchange-servers-using-remote-powershell?view=exchange-ps
微軟文件很齊啊。

反正就是新增個PSSession,然後連上遠端server,就能用遠端命令了。
感謝 froce,
您提供的連結,已經有先看過了。User端的PS命令,已經知道怎麼下了!
但目前的問題卡在Exchange Server WinRM的服務怎麼調整與設定,
讓服務是正常的!
謝謝
Ray iT邦大神 1 級 ‧ 2018-09-14 11:50:15 檢舉
你沒貼你下的指令和他產生的錯誤訊息, 完全沒線索, 是叫大家要怎麼查修?
感謝 raytracy,
補上下的命令與錯誤訊息:
#下的命令
PS <C:\> $LiveCred = Get-Credential
PS <C:\> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://mail.abc.com/PowerShell-LiveID/ -Credential $LiveCred -Authentication Basic -AllowRedirection

#秀出的錯誤訊息
警告:您的連線已被重新導向到下列 URI:“https://mail.abc.com/PowerShell-LiveID?PSVersion=4.0"
New-PSSession: [mail.abc.com]連線到遠端伺服器 mail.abc.com 失敗,傳回下列錯誤:WinRM 給HTTP 伺服器,且收到一個回應說明要求的 HTTP URL 無法使用。這通常是由不支援 WS-Management 通訊協定......
froce iT邦大師 1 級 ‧ 2018-09-14 14:14:04 檢舉
看google都寫要看80和443是不是被別的程式佔用,先去看IIS吧。
感謝 froce,
80跟443,有確認過了,都是給IIS使用,謝謝!
Ray iT邦大神 1 級 ‧ 2018-09-14 15:07:37 檢舉
上面指令是用 Authentication Basic, 請問您在 Get-Credential 的時候, 是用甚麼格式輸入帳密的? 前面有帶 AD domain 或是 UPN 嗎?

您若用瀏覽器直接看:
https://mail.abc.com/PowerShell-LiveID?PSVersion=4.0
會得到甚麼反應?
感謝raytracy,
1.Get-Credential 會彈出驗證視窗,輸入ad帳密
2.直接看https://mail.abc.com/PowerShell-LiveID?PSVersion=4.0,會秀404,但IIS站台,有PowerShell虛擬站台
謝謝!
Ray iT邦大神 1 級 ‧ 2018-09-15 01:03:42 檢舉
AD 帳密用甚麼格式輸入?

username
password
還是:
domain\username
password

看看這篇有沒有幫助?

https://blog.txstudio.tw/2017/09/powershell-remote-access-windows-server-2016.html
感謝 raytracy,
我試試看,謝謝!
我目前 試的結果,輸入以下命令!

PS C:\> Set-Item wsman:\localhost\client\trustedhosts "mail.abc.com"

WimRM 安全性設定
這個命令會修改WinRM用戶端的TrustedHosts清單。TrustedHost
清單中的電腦可能未通過驗證。用戶端可能會傳送認證資訊給這些電腦。您確定要修改這個清單嗎?
[Y]是(Y) [N]否(N) [S]暫停(S) [?]說明(預設值為"Y"): Y

PS C:\> Get-Item wsman:\localhost\client\trustedhosts

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String TrustedHost mail.abc.com

PS C:\> $sec_pwd = ConvertTo-SecuresString "密碼" -AsPlainText -Force;

PS C:\> $LiveCred = New-Object System.Management.Automation.PSCredential("帳號@abc.com",$sec_pwd);

PS C:\> Enter-PSSession -Computer mail.abc.com -Credential $LiveCred

[mail.abc.com]: PS C:\> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

[mail.abc.com]: PS C:\> Get-MailboxDatabase -Status | select ServerName,Name,DatabaseSize

上的Active Directory作業失敗。為 'domain\帳號' 提供的認證無效。
+ CategoryInfo : NotSpecified:(:) [] ADInvalidCredentialException
+ FullQualifiedErrorId : [Server=mail , RequestId=e6ad30fe-14cb-4d14-8b68-211100454621,TimeStamp=2018/09/17 上午 02:44:34]
[FailureCategory=Cmdlet-ADInvalidCredentialException] 8D3E650C

以上

目前遇到了 Active Directory作業失敗。為 'domain\帳號' 提供的認證無效。
2018/10/02 解決完整語句

#傳輸密碼採加密方式
PS C:\> $Sec_PWD = ConvertTo-SecureString "<密碼>" -AsPlainText -Force;

#建立驗證
PS C:\> $UserCredential = New-Object System.Management.Automation.PSCredential("<管理帳號,ex.admin@mail.abc.com>",$Sec_PWD);

#建立連入Session
PS C:\> $Session = New-PSSession -Configuration Microsoft.Exchange -ConnectionUri http://mail.abc.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential;

#載入Session
PS C:\> Import-PSSession $Session -DisableNameChecking -AllowClobber;

#查詢Mail Server
PS C:\> Get-MailboxDatabase -Status | Select.Object ServerName,Name,DatabaseSize

#移除Session
PS C:\> Remove-PSSession $Session -DisableNameChecking -AllowClobber;
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答