Digital Accels

機能別ガイド / スクリプトと自動化

スクリプトの基礎と対応言語

NinjaOneのスクリプトによる自動化の基礎を説明します。4つの用途、実行アカウントの違いが招く問題、実行時間の上限、安全に運用するための5つの原則について解説します。

目次

スクリプトは、デバイス上で任意の処理を実行する機能です。定型作業の自動化、標準機能では取得できない情報の収集、独自の判定条件の作成に使います。最も自由度が高く、最も影響が大きい機能でもあります。

スクリプトの用途

実務での使い道は大きく4つに分かれます。

用途
定型作業の自動化一時ファイルの削除、ログの収集、設定の適用
情報の収集標準では取得できない項目を調べてCustom Fieldsに記録する
自動対応Conditionが成立したときの復旧処理
一括操作多数のデバイスへ同じ変更を適用する

2番目と3番目が、NinjaOneの運用を大きく変える使い方です。標準の監視項目では足りない部分を補い、検知から対応までを人手を介さずにつなげられます。

実行の仕組みと権限

スクリプトはAgentが実行します。実行するアカウントはRun asで指定でき、初期値はSystemです。

実行アカウント特徴
システム利用者が不在でも実行できる。権限が強い
ログイン中の利用者利用者の環境で実行される。権限は利用者に依存する

多くの処理はシステム権限で実行します。ただし、利用者のプロファイルに依存する処理は、ログイン中の利用者として実行する必要があります。

【注意】 手動で実行すると動くのに、Scheduled Automationsでは動かない、という事象の多くはこの実行アカウントの違いが原因です。自動実行を設定したら、必ず実際に自動実行されたときの結果を確認してください。

対応する言語

言語はスクリプトの作成時に選択します。Windowsではコマンドプロンプト系とPowerShell系、macOSとLinuxではシェルスクリプトが基本になります。

Operating SystemArchitectureもあわせて指定します。この指定が実行対象の判定に使われるため、正しく設定してください。対応する言語の詳細な一覧は公式ドキュメントで確認できます。

実行時間の上限

スクリプトには実行時間の上限があります。長時間かかる処理は途中で打ち切られます。

対処としては次の方法があります。

  1. 処理を分割して複数のスクリプトにする
  2. 時間のかかる処理は非同期で起動し、結果は別途確認する
  3. 対象を絞って実行回数を増やす

大量のファイルを操作する処理や、ネットワーク越しの処理は時間がかかりやすいため注意してください。

安全に運用するための原則

スクリプトの実行は、デバイス上で任意のコマンドを実行することと同じです。次の原則を守ってください。

  1. 実行前に必ず検証する

検証機で動作を確認してから本番に適用します。手動実行、少数への自動実行、全体への展開、という順で広げてください。

  1. 対象を確認してから実行する

一括実行の前に、選択されている台数と内訳を確認します。フィルターの条件を間違えたまま実行すると、意図しないデバイスに影響します。

  1. 実行権限を絞る

スクリプトの実行権限は、リモート接続の権限より影響が大きい権限です。付与する範囲を限定してください。設計は権限設計の考え方を参照してください。

  1. 取り消せない処理は特に慎重に

ファイルの削除、レジストリーの変更、サービスの無効化などは、実行後に元に戻せません。事前に確認する処理を入れる、対象を明示的に限定する、といった防御を組み込んでください。

  1. 結果を確認する

実行して終わりにせず、成功したか失敗したかを確認します。失敗が続いているスクリプトを放置すると、動いているつもりで動いていない状態になります。

【運用のポイント】 破壊的な処理を含むスクリプトには、名前に印を付けることをおすすめします。一覧で見たときに、慎重に扱うべきものが判別できます。

NinjaOne導入のご相談、デモ・お見積りのご依頼は、
お気軽にデジタルアクセルズまでお問い合わせください。

このNinjaOneガイド記事は、2026年8月現在の情報をもとにデジタルアクセルズが正規販売代理店として独自に作成したものであり、日本語環境での実際の動作は異なる場合があります。最新の製品マニュアルとしては、NinjaOneドキュメンテーションサイトもご覧ください。