私は、複数のVLANがローカルADサーバとしか話せないセグメント化されたActive Directoryネットワークを持っていますが、すべてのADサーバは互いに話すことができます。私は各ADサーバーを介して各システムでVLANごとにコマンドを実行できるようにプロキシできるスクリプトを用意したいと思っています。しかし、私のコードはコマンドを実行するようには見えません。Invoke-Commandを使用して、3番目のシステムでInvoke-Commandを呼び出すことはできますか?
function RunRemote {
param([string]$ScriptBlock,[string]$Server,[string]$DC)
$icm = '[ScriptBlock]$sb=[ScriptBlock]::create(' + $ScriptBlock + ');icm -cn ' + $Server + ' -ScriptBlock $sb'
icm -cn $DC -ScriptBlock { $icm }
}
$ScriptBlock = "date"
$Server = "Comp01"
$DC= "DC01"
RunRemote $ScriptBlock $Server
エラーは発生していませんが、送信されたコマンドはいずれもリモートサーバー上で実行されていません。 ADサーバーとの対話セッションを作成すると、Invokeコマンドは各vlanに期待通りに機能します。
は、古典的なダブルホップの問題のように聞こえます。ユーザーは自分の信用をリモートマシンに渡すことができますが、リモートマシンはネットワークロケーションにファイルを書き込むことができません。 – Venkatakrishnan
'{$ icm}' - > '{iex $ icm}'または '[scriptblock] :: Create($ icm)' –