oneshot
監視対象のディレクトリに含まれるログ ファイルのインデックスを明示的に再作成する Splunk のコマンドを自動化する powershell スクリプトを作成しようとしています。日付の範囲を指定すると、スクリプトはログ ファイルが保存されているディレクトリを走査し、oneshot
その日付を対象とするファイルごとに 1 回実行します (通常、1 日あたり 50 から 110 程度です)。私は決してあなたが「パワーシェルの第一人者」と呼ぶものではありません。それが私をここに連れてきた理由です。
よく見ると、呼び出されるたびに個別の cmd.exe インスタンスInvoke-Expression
を開始しているようです。これにより、splunkd デーモンがクラッシュするか、cmd.exe がクラッシュします。
そうは言っても、使用するより良い代替手段はありInvoke-Expression
ますか? 私のスクリプトは、呼び出された各式が完了するのを待ってから次の式を開始するように見えず、サーバーに悪影響を及ぼしています。Invoke-Expression
外部のコンソール以外のアプリケーションを呼び出すために使用すると、これが発生することを読みました。この場合、コマンドを実行するために splunk.exe を呼び出しているので、これは理にかなっています。
を使用する代わりにスクリプティング ホストを利用することを検討していますInvoke-Expression
が、最初にここ StackOverflow のプロにいくつかの潜在的な代替案を尋ねたかったのです :)
そうは言っても、過去に同様の問題に遭遇した人はいますか?Invoke-Expression
あるいは、仕事をするだけでなく、より安定した実行を提供する代わりに使用できる他の PowerShell ツールはありますか? どんな助け/提案も大歓迎です!