私は最近PSSessionsを使用してダブルホップの問題に遭遇しました。私が回避しようとしたのは、-RunAs
パラメータを使用してリモートサーバー上のコマンドを実行する資格情報を設定するリモートサーバー上のセッション構成を作成することでした。次に、リモートサーバー上のそのセッション構成に接続すると、期待どおりに動作するはずです。
$MyCreds = Get-Credential ''
Invoke-Command -ScriptBlock {
Set-PSSessionConfiguration -Name "My Remote Config" -RunAsCredential $using:MyCreds -Force
} -ComputerName Server01
一度セッション設定が行われると、その設定を使用してセッションを開始することができ、ダブルホップ全体の問題は無効です。
セキュリティを追加して、他の人がセッション設定を使用できないようにしておきます。その設定はサーバにキャッシュされた(暗号化された)クレデンシャルを持ち、私として欲しかった。したがって、私は自分のドメインアカウントSIDを取得し、SDDL行を生成し、自分のアカウントだけにセッション設定へのアクセスを制限することができます。
$Searcher = [adsisearcher]"(&(sAMAccountName=$($Creds.UserName.Split('\')[1]))(objectClass=user))"
$Results=$Searcher.FindOne().GetDirectoryEntry()
$MySID = new-object System.Security.Principal.SecurityIdentifier($Results.objectSid.value,0)|% value
$SDDL = "O:NSG:BAD:P(A;;GR;;;BA)(A;;GR;;;IU)(A;;GA;;;$MySID)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)"
$FQDN = $Server.ServerName,$Server.Forest -join '.'
$MySessionName = "DoubleHop-{0}" -f $MyCreds.UserName.Split('\')[1]
Invoke-Command -ScriptBlock {
Register-PSSessionConfiguration -Name $using:MySessionName -RunAsCredential $using:MyCreds -Force -SecurityDescriptorSddl $using:SDDL
} -ComputerName $FQDN -ea 4
「画面のような機能」を詳しく説明してください。 –
質問を更新しました。 – ca9163d9