簡體   English   中英

Winrm 無法使用 dnscmd - Windows 服務器 2012 R2 標准服務器

[英]Winrm not able to use dnscmd - Windows server 2012 R2 Standard server

我正在嘗試通過 winrm 管理 Windows 服務器 2012 R2 標准服務器。 在服務器上,我想從 rsat package 運行 dnscmd。 可以看到下面如果我只是在power shell 中運行dnscmd 提示就成功了。 但是,當我通過 winrm 遠程調用它時,命令失敗並顯示 ERROR_ACCESS_DENIED。


PS C:\Windows\system32> dnscmd adServer /RecordDelete mycompany.com newTestRecord A /f
Deleted A record(s) at mycompany.com 
Command completed successfully.


PS C:\Windows\system32> Test-WsMan localhost
wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0


PS C:\Windows\system32> Invoke-Command -ComputerName localhost -ScriptBlock {
>> dnscmd adServer /RecordDelete mycompany.com newTestRecord A /f
>> } 
Command failed:  ERROR_ACCESS_DENIED     5    0x5


PS C:\Windows\system32> Invoke-Command -ComputerName localhost -ScriptBlock {
>> hostname
>> }
myServerHostname

問題是雙跳/多跳。 當您通過 winRM 登錄時,它不想讓您使用相同的憑證令牌訪問不同的計算機。 我通過通過 winrm 連接然后打開嵌套的 Powershell session 解決了這個問題。 它本質上是刷新允許用戶連接到活動目錄服務器的令牌。

請參閱以下內容以獲取更多信息

確保為 dnscmd 安裝遠程服務器管理工具 (RSAT)。

$password = '{pass}' | ConvertTo-SecureString -AsPlainText -Force
$username = '{user}'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $username,$password
Invoke-Command -ComputerName localhost -Credential $cred -ConfigurationName svc_dns_middleMan -ScriptBlock {
  '{dnscmd_commands}'
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM