問題タブ [invoke-command]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
789 参照

invoke-command - PowerShell Invoke-Command が dll の読み込みに失敗する

他の投稿を見ましたが、私を助けてくれるものはありませんでした。助けてください。

PowerShell4 を搭載したローカルの Win7 デスクトップから次のコマンドレットを実行しました。

このエラーが発生しました:

私のセットアップは次のとおりです。

リモート コンピューター COMPUTER123 と私のデスクトップは同じ AD ドメインにあります。

コマンドは、私のアカウント mycomany\Sam の下の Win7 コンピューターから発行されました。このアカウントは、リモート COMPUTER123 のローカル管理者でもあります。

COMPUTER123 の PowerShell 構成ファイルには、構成の下にこのエントリがあり、NAS からアセンブリをロードできるようになっています。

COMPUTER123 に RDPing し、ローカルで次の PowerShell コマンドを呼び出すと、エラーなしで実行されます。

0 投票する
0 に答える
1772 参照

arrays - リモート PowerShell オブジェクトを返す

私はPoShの経験がかなり浅いですが、noob回路で自分自身を保持できると思います. PowerShell を介して SQL テーブル内のサーバーのリストから直接接続ストレージ (DAS) を取得するメカニズムに取り組もうとしています。DAS を取得するコマンドは、DAS が接続されているサーバーからローカルで実行する必要があります。各サーバーには複数の DAS デバイスを接続できるため、サーバーごとに配列を作成し、その配列に各 DAS ユニットのオブジェクトを設定することにしました。私はプロセスを釘付けにし、各サーバーを反復処理し、各サーバーでコマンドをリモートで実行し、(リモート セッション内で) 必要なデータをキャプチャすることができますが、オブジェクトの配列を元に戻すのに問題があります。これにより、このデータをデータベース テーブルに書き込むことができます。呼び出しコマンド スクリプト ブロック内で配列を呼び出すと、すべて問題なく、必要なデータを取得できます。それは、後で呼び出そうとしたときだけです。データを書き込むためにこれらのサーバー (数百) のそれぞれで SQL セッションを確立する予定はないので、これを実行しているマシンから行うことをお勧めします。

このデータはデータベースに直接書き込まれるため、ファイルや csv などのエクスポート/インポートをいじるよりも、同じスクリプト内の PowerShell 内でネイティブに活用することもお勧めします。

PowerShell がネットワーク上でオブジェクトをシリアル化することは理解していますが、ローカル マシンに戻ると復元されると理解しています。私が達成しようとしていることは可能ですか、それとも単に頭がおかしくなっているだけですか?

関連するコードは次のとおりです。

スクリプトブロック内から呼び出された場合の出力例:

何かご意見は?

0 投票する
1 に答える
870 参照

powershell - 関数内での Invoke-Command の使用

私はこのコードスニペットを持っています。アイデアは、リモート pc で呼び出しコマンドを呼び出すことですが、コマンドが失敗した場合は、再試行する必要があります。

コードは次のようになります。

次に、次のように関数を呼び出すことができるはずです。

しかし、なぜか思ったように動かない。

前もって感謝します

よろしくマグナス

0 投票する
1 に答える
2022 参照

powershell - Scriptblock は Invoke-Command として機能しますが、Start-Job としては機能しません

ファイルのアップロードをカスタム http サーバーに POST し、応答をディスクに保存する ScriptBlock を作成しました。上記のサーバーをテストするために使用することを目的としており、正しい応答を確認することに加えて、サーバーをロードするために並行して実行したいと考えています。

ScriptBlock のコードは、別の ps1 スクリプトとしてビルドされ、動作します。Start-Job次に、ジョブを管理し、最終的に全体的な結果を提示するために使用するフレームワーク スクリプトに移植しました。

残念ながら、その移植後は機能しません。

症状はStart-Job、ジョブの使用が終了しないことです。テストのために、に切り替えましたInvoke-Command。単純なInvoke-Command作品でInvokeCommand -AsJobはありません。

作品:

動作しない:

使用されている ScriptBlock はかなり長めです。パラメータを宣言することから始めます。

さらに下では、HttpWebRequest と他のいくつかの .NET クラスを使用しています。

使用時に説明されているように、Start-Jobまたは子Invoke-Command -AsJobジョブが開始されたときは、単純にそのRunning状態が永久に残ります。

この動作の原因は何ですか? それをデバッグするために何を使用できますか? エラーが発生した場合、子ジョブを強制的に終了させて​​、何が気に入らないかを教えてもらえますか?

Windows XP で PowerShell 2.0 を使用しています。

私が思いついたフレームワークでは、Start-Job(現在はそのうちの 1 つにすぎませんが、ストレス テストのためにその数を増やす予定です)。次に、それらすべてが終了するのを待っているループがあります。

これにより、次の形式の出力が生成されます。

永遠に。

完全な最小テスト ケースは次のとおりです。

これは私のためにハングアップします。WebRequest オブジェクトを作成する行をコメントアウトすると、機能します。

ありがとうございました。

0 投票する
2 に答える
1477 参照

powershell - winrm を使用して、資格情報を使用せずにドメインからワークグループ (混合ドメイン) にコマンドを送信する方法

私が持っている vmware イメージで powershell 呼び出しコマンドを実行しようとしています: invoke-command -computer [vmware host] -scriptBlock { commands }

コマンドを実行するクライアントがドメイン上にあり、vm イメージがワークグループ (混合ドメイン) にあるため、これは機能しません。

いくつかの調査の後、vmware ホストを信頼できるホストに追加し (Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value [vmware host])、資格情報 (管理者/パスワード) を指定すると、コマンドが機能します。

私の質問は:資格情報を明示的に提供せずに機能させる方法はありますか?たとえば、vmwareホストをあらゆる種類のアクセスに開放するか、資格情報をクライアントコンピューターに永久に保存して、資格情報を提供する必要がないようにする方法はありますか? 「invoke-command -credential 引数」を使用した呼び出しで。このコードは他のチームによって維持されているため、「-credential」引数を追加する柔軟性はありません。

(kerberos を使用するために) ドメイン間に信頼を追加できることはわかっていますが、そのオプションは利用できません。

0 投票する
1 に答える
1308 参照

powershell - -AsJob を使用して Powershell Invoke-Command をリモートでリモート プログラムを起動できませんでした

長時間実行されるリモート プログラムを起動したいのですが、待ちたくありません。そこで、PS スクリプト ファイルに以下の 1 行のコマンドを入力し、「Powershell -file xxx.ps1」を実行します。

ただし、スクリプトの実行後にリモート プログラムは実行されませんが、上記のコマンドを PS コンソールで対話的に実行すると、リモート プログラムは正常に実行されます。スクリプトが終了すると、プログラムが強制終了されたようです。

どうしてこれなの?

アップデート

スクリプトの最後で 1 秒間スリープすると、リモート アプリは正常に動作します。

0 投票する
1 に答える
316 参照

powershell - Invoke-Command に戻りコードが必要か

Powershell スクリプト

  1. リモート コンピューターで PSRemoting を有効にします
  2. リモート コンピューターで setup.exe を実行します。
  3. リモート コンピューターで PSRemoting を無効にします

リモート コンピューターが setup.exe を実行できるようになった後、PSRemoting を無効にしていることを確認するにはどうすればよいですか?

リモート コンピューターが setup.exe を実行できるようになる前に、PSRemoting を無効にしていますか?

0 投票する
1 に答える
1141 参照

windows - EC2 Windows マシンの PowerShell からインスタンス ID を取得できません

URL を使用して、AWS EC2 Windows マシンの IE ブラウザーからインスタンス ID を取得できます。http://169.254.169.254/latest/meta-data/instance-id

Powershell コマンドを使用するときに同じマシンで

その後、エラーを下回っています

注:Invoke-WebRequest http://google.comは動作しており、PowerShell コマンドから応答を返しています。

このエラーが何であるかを明確にしてください。

0 投票する
1 に答える
280 参照

powershell - Powershell Invoke-Command クエリ

一部のサーバー アプリケーション プールを定期的にリモートで再起動するタスクのスクリプトを作成しています。次のように Invoke-Command を使用しています。

これは問題なく機能します。ただし、次のようにアプリ プールをパラメーター化すると

それは失敗します

これは単なる構文の問題だと思いますが、何が原因かわかりません。