PowerShell ジョブをチーム全体に共有

保存済み入力と Windows 実行環境を使い、Semaphore から .ps1 スクリプトを実行します。定期管理をスケジュールし、すべての実行出力を保持できます。

自分のセッションがなくても、チームはスクリプトを実行できますか?

スクリプトは設定の一部にすぎません。次の担当者のために、インストール済みモジュール、環境値、Windows システムへのアクセスも準備する必要があります。

スクリプトを準備済みの Windows ジョブに

  • .ps1 のソースと変更を Git に保存
  • Windows サーバーまたは Windows ランナーで実行
  • 入力を再利用し、実行のたびに出力を確認

定期的な Windows 管理をジョブに

Windows サービスと証明書を確認

必要なサービスや有効期限の近い証明書を確認するスクリプトをスケジュールします。確認に失敗したときチームへ通知できるよう、意味のある出力と終了コードを使います。

Windows の確認をスケジュール

ディレクトリとシステムのレポートを生成

必要なモジュールとアカウントアクセスを備えたレポートスクリプトを使います。収集をスケジュールし、プロセスで使う保存先にレポートを書き込みます。

スケジュールを設定

テスト済みの保守手順を実行

保守スクリプトは Git に保存し、環境入力を設定します。同僚が UI から保存済みの操作を開始できます。

準備済みジョブを共有

PowerShell スクリプトを接続し、Windows での結果を確認

10,000 台を超える Windows サーバーの自動化

Jack Henry & Associates は、ランナーと、ほかの自動化ツールに加えた PowerShell 対応を活用し、10,000 台を超える Windows サーバーで Semaphore を使用していると述べています。シニアシステムエンジニアの Sasha K. 氏が、公開されたお客様の声でその経験を紹介しています。

Jack Henry のお客様の声を読む

Windows ジョブをより大きな操作に組み込む

Terraform で Windows 環境をプロビジョニングし、PowerShell の設定または保守スクリプトを実行して、Python でアプリケーションを確認します。

Windows サーバー群の保守ワークフロー
Windows システムをプロビジョニング
成功時出力 → 入力
Windows の保守を実行
成功時出力 → 入力
アプリケーションを確認
失敗時
診断情報を収集

PowerShell ジョブの実行に必要なもの

Windows の実行環境を選択

PowerShell のタスクテンプレートには、Windows ランナーまたは Windows 上で動く Semaphore サーバーが必要です。スクリプトに必要なモジュールをインストールし、ネットワークとアカウントのアクセスを設定してください。

環境変数から入力を読み取る

リポジトリと .ps1 パスを選択します。変数グループが環境変数を渡し、スクリプトから $env:VARIABLE_NAME で読み取れます。

対話操作が不要なスクリプトに

端末のプロンプトを待つのではなく、実行前に入力を収集してください。成功時は 0、失敗時は 0 以外の終了コードを返し、結果の診断に十分な出力を残します。

定期作業に同じジョブを再利用

保存済みテンプレートを手動またはスケジュールで実行します。各タスクの出力を保持し、チームが追跡すべき結果に対する通知を設定します。

FAQ

Git から既存の PowerShell スクリプトを実行できますか?

はい。PowerShell タスクテンプレートを作成し、リポジトリと .ps1 のエントリーポイントを選択して、実行時設定の変数グループを関連付けます。スクリプトは Git でバージョン管理されます。必要なモジュールとアクセスを準備した Windows 環境で実行してください。

PowerShell タスクには Windows の実行環境が必要ですか?

はい。文書化された構成では、Windows 上の Semaphore サーバーまたは Windows ランナーを使います。Windows プロジェクトランナーによって、必要なモジュール、ドメインアクセス、対象システムが利用できる場所に実行を配置できます。プロジェクトランナーには Pro が必要です。

テンプレートは WinRM、ドメインアクセス、モジュールを自動設定しますか?

いいえ。スクリプトを実行する環境に、それらの依存関係を準備してください。テンプレートはソースと実行入力を選択します。Windows システムへの接続方法と実行する操作は、PowerShell コードとランタイム設定が決めます。

PowerShell スクリプトは失敗をどう報告すべきですか?

スクリプトは対話操作なしで実行し、診断に役立つ出力を残します。終了コード 0 は成功を示し、0 以外はタスクの失敗を示します。想定されるエラーはスクリプト内で処理し、意図した操作が完了したかを終了ステータスが反映するようにしてください。

Windows サービスや証明書の確認をスケジュールできますか?

はい。確認スクリプトを PowerShell タスクテンプレートに保存し、Windows の実行環境を設定して、スケジュールを追加します。どのサービスや証明書を調べるかはスクリプトが決めます。失敗した確認をチームに通知するタスクアラートを設定してください。

PowerShell を Terraform や Ansible と組み合わせられますか?

はい。ワークフローでタスクテンプレートを接続し、プロビジョニング、Windows 管理、システム設定を必要な順序で実行できます。結果の条件と、独立した検証ジョブを追加してください。各スクリプトや Playbook は、それぞれの実行環境と入力を保持します。

同僚はスクリプトを編集せずに Windows ジョブを実行できますか?

はい。.ps1 ファイルを Git でバージョン管理し、再利用可能なタスクテンプレートを設定します。設定を編集せずにジョブを実行できるプロジェクトアクセスを割り当ててください。同僚は UI から準備済み操作を開始し、出力を確認できます。

PowerShell スクリプトは設定値をどう受け取りますか?

変数グループをタスクテンプレートに関連付けます。値は環境変数として渡され、スクリプトから PowerShell の環境アクセス機能で読み取れます。機密値はシークレットエントリーに保存し、Windows アカウントとモジュールへのアクセスは別途設定してください。