PowerShellコレクション

創業の背景

PowerShellスクリプトで問題が発生する可能性のあることがたくさんあります。 この記事の目的は、より頻繁に見られる問題のいくつかに焦点を当てることです。

PowerShell資格情報の操作は、困難で時間がかかる場合があります。 デバイスが使用する資格情報のタイプを判別するために、サンプルスクリプトを見てみましょう。 以下のスクリプトは、リモートPowerShell接続を開始してから、リモートデバイスでスクリプトを実行します。

WMIのユーザー名とパスワードがリモートデバイスから収集されている場合は、スクリーンショットで確認できます。 ユーザー名とパスワードの両方が提供されていることを確認するためにチェックが実行されます。 両方のフィールドにデータが提供されている場合、それらはelseステートメントに渡されてから、リモート資格情報に変換されます。 この新しい資格情報は、次のコマンドを実行するために使用されます。

このタイプの資格情報を使用するには、PowerShellRemotingを構成する必要があります。 これを設定する方法に関する追加情報は見つけることができます こちら.

注意: これを初めて構成するときは、IPアドレス範囲にスクリプトを実行するコレクターのみが含まれていることを確認してください。 そうしないと、PowerShellセッションがネットワークに公開され、セキュリティリスクと見なされます。 ネットワーク上のすべてのデバイスがこのデバイスでリモートコマンドを実行できるため、注意が必要です。 

スクリプトにプロパティwmi.userまたはwmi.passへの参照が含まれていない場合は、PowerShellコマンドを実行するためにコレクターサービスの資格情報が使用されます。 その後、コマンドは指定されたデバイスで実行されます。 このタイプのスクリプトでは、ホストとコレクターが同じドメインにあることを確認してください。 コレクターユーザーは、ローカルまたはドメインの管理者アカウントである必要があります。 これがないと、一部のコマンドが処理されなかったり、完全なエラーが表示されなかったりする場合があります。

データポイント正規表現

見つかった資格情報に問題がない場合は、データソース定義内の[テストスクリプト]ボタンを実行してデータを取得できます

スクリプトを手動で実行して、出力がどのようにフォーマットされているかを確認し、データポイントが基準に一致することを確認することもできます。 スクリプトをコピーして、 !poshコマンド 実行します。

!poshスクリプトの実行時にデータが返されても、UIに出力が表示されない場合は、データポイント定義に問題がある可能性があります。

外部ツールを使用して、スクリプト出力をテストすることもできます。 例えば、 regex101.com。 スクリプト出力をに貼り付けます 「テスト文字列」 ボックスに入力し、正規表現をに追加します 「表現」 フィールドに入力し、戻り値が緑色であることを確認します。 これは、正規表現が有効かどうかを示します。

非LM環境で同じスクリプトを使用する

ホスト名トークンの追加など、スクリプトに変更を加えると、スクリプトがデータソース内で正常に実行されるようになるというのはよくある誤解です。

これは常に当てはまるとは限らないため、コレクターがOSを使用してスクリプトを実行する方法を比較することは、検出されたインスタンスがコレクションに渡される方法と同じでない場合があります。

LogicMonitorサポートからのさらなる説明が必要になる場合があります。 説明したように こちら インスタンスを返す/印刷するためにAD部分が必要になる場合があります。

instance1_id##instance1_name
instance2_id##instance2_name

instance_idはWildValueとしてコレクションに渡され、instance_nameはUIに表示されるようになります。

それが構成されたら、WildValueをコレクションスクリプトに追加します。 次に、キーと値のペアまたは正規表現を使用して、出力をデータポイントに転送します。 これはより詳細に説明されています こちら.

LogicBlogの他の記事

アンペアロボット 影

お店の話をしましょう。

STARTED GET