問題タブ [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.
invoke-command - PowerShell Invoke-Command が dll の読み込みに失敗する
他の投稿を見ましたが、私を助けてくれるものはありませんでした。助けてください。
PowerShell4 を搭載したローカルの Win7 デスクトップから次のコマンドレットを実行しました。
このエラーが発生しました:
私のセットアップは次のとおりです。
リモート コンピューター COMPUTER123 と私のデスクトップは同じ AD ドメインにあります。
コマンドは、私のアカウント mycomany\Sam の下の Win7 コンピューターから発行されました。このアカウントは、リモート COMPUTER123 のローカル管理者でもあります。
COMPUTER123 の PowerShell 構成ファイルには、構成の下にこのエントリがあり、NAS からアセンブリをロードできるようになっています。
COMPUTER123 に RDPing し、ローカルで次の PowerShell コマンドを呼び出すと、エラーなしで実行されます。
arrays - リモート PowerShell オブジェクトを返す
私はPoShの経験がかなり浅いですが、noob回路で自分自身を保持できると思います. PowerShell を介して SQL テーブル内のサーバーのリストから直接接続ストレージ (DAS) を取得するメカニズムに取り組もうとしています。DAS を取得するコマンドは、DAS が接続されているサーバーからローカルで実行する必要があります。各サーバーには複数の DAS デバイスを接続できるため、サーバーごとに配列を作成し、その配列に各 DAS ユニットのオブジェクトを設定することにしました。私はプロセスを釘付けにし、各サーバーを反復処理し、各サーバーでコマンドをリモートで実行し、(リモート セッション内で) 必要なデータをキャプチャすることができますが、オブジェクトの配列を元に戻すのに問題があります。これにより、このデータをデータベース テーブルに書き込むことができます。呼び出しコマンド スクリプト ブロック内で配列を呼び出すと、すべて問題なく、必要なデータを取得できます。それは、後で呼び出そうとしたときだけです。データを書き込むためにこれらのサーバー (数百) のそれぞれで SQL セッションを確立する予定はないので、これを実行しているマシンから行うことをお勧めします。
このデータはデータベースに直接書き込まれるため、ファイルや csv などのエクスポート/インポートをいじるよりも、同じスクリプト内の PowerShell 内でネイティブに活用することもお勧めします。
PowerShell がネットワーク上でオブジェクトをシリアル化することは理解していますが、ローカル マシンに戻ると復元されると理解しています。私が達成しようとしていることは可能ですか、それとも単に頭がおかしくなっているだけですか?
関連するコードは次のとおりです。
スクリプトブロック内から呼び出された場合の出力例:
何かご意見は?
powershell - 関数内での Invoke-Command の使用
私はこのコードスニペットを持っています。アイデアは、リモート pc で呼び出しコマンドを呼び出すことですが、コマンドが失敗した場合は、再試行する必要があります。
コードは次のようになります。
次に、次のように関数を呼び出すことができるはずです。
しかし、なぜか思ったように動かない。
前もって感謝します
よろしくマグナス
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 オブジェクトを作成する行をコメントアウトすると、機能します。
ありがとうございました。
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 を使用するために) ドメイン間に信頼を追加できることはわかっていますが、そのオプションは利用できません。
powershell - -AsJob を使用して Powershell Invoke-Command をリモートでリモート プログラムを起動できませんでした
長時間実行されるリモート プログラムを起動したいのですが、待ちたくありません。そこで、PS スクリプト ファイルに以下の 1 行のコマンドを入力し、「Powershell -file xxx.ps1」を実行します。
ただし、スクリプトの実行後にリモート プログラムは実行されませんが、上記のコマンドを PS コンソールで対話的に実行すると、リモート プログラムは正常に実行されます。スクリプトが終了すると、プログラムが強制終了されたようです。
どうしてこれなの?
アップデート
スクリプトの最後で 1 秒間スリープすると、リモート アプリは正常に動作します。
powershell - Invoke-Command に戻りコードが必要か
Powershell スクリプト
- リモート コンピューターで PSRemoting を有効にします
- リモート コンピューターで setup.exe を実行します。
- リモート コンピューターで PSRemoting を無効にします
リモート コンピューターが setup.exe を実行できるようになった後、PSRemoting を無効にしていることを確認するにはどうすればよいですか?
リモート コンピューターが setup.exe を実行できるようになる前に、PSRemoting を無効にしていますか?
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 コマンドから応答を返しています。
このエラーが何であるかを明確にしてください。
powershell - Powershell Invoke-Command クエリ
一部のサーバー アプリケーション プールを定期的にリモートで再起動するタスクのスクリプトを作成しています。次のように Invoke-Command を使用しています。
これは問題なく機能します。ただし、次のようにアプリ プールをパラメーター化すると
それは失敗します
これは単なる構文の問題だと思いますが、何が原因かわかりません。