.exe をダブルクリックして対話式メニューを進める方法のほか、OSManagerCLI は自動化スクリプトの一部として、コマンドラインから直接「ハンズフリー」で再イメージングを実行することもできます:
.\OSManagerCLI.exe -PreIngestedOSFileHandle 'gx3p_25Q3_f0885a6e' -MachineToReimageHandle 'gx3p-42123'
再イメージングが成功したかどうかは、終了コードを確認することで判断できます(0 は成功を意味します)。
.\OSManagerCLI.exe -PreIngestedOSFileHandle 'gx3p_25Q3_f0885a6e' -MachineToReimageHandle 'gx3p-42123'
$reimageSuccessExitCode = $LASTEXITCODE
if( $reimageSuccessExitCode -eq 0 ) {
Write-Host "Reimage Was Successful"
$exitCodesMeaning = & .\OSManagerCLI.exe -DescribeExitCode $reimageSuccessExitCode
Write-Host "Reimage Failed with Exit Code $reimageSuccessExitCode, which means: $exitCodesMeaning"
OSManagerCLI には管理者権限が必要なため、ターミナル「(As Administrator)」で実行していない場合は、新しい昇格ウィンドウで自身を再起動します。昇格していないセッションにいる場合、スクリプトから終了コードを取得するには、昇格した状態で起動し、完了するまで待機します:
$run = Start-Process .\OSManagerCLI.exe `
-ArgumentList '-PreIngestedOSFileHandle','gx3p_25Q3_f0885a6e','-MachineToReimageHandle','MYSERVER' `
-Verb RunAs -Wait -PassThru
$reimageSuccessExitCode = $run.ExitCode # 0 = success; see the tables below
Write-Host "Exit Code Was: $reimageSuccessExitCode"
| パラメーター | 説明 |
|---|
-IngestOSFilePath <path> | <path>(.iso または .os ファイル)にある OS イメージを OS ライブラリに取り込みます。 |
-PreIngestedOSFileHandle <handle> | すでに取り込み済みの OS を、そのハンドル(OS 一覧に表示される名前)で指定して使用します。-MachineToReimageHandle が必要です。 |
-MachineToReimageHandle <hostname> | 再イメージングするサーバー(Actor)。OS ソースが必要です。上記 2 つのパラメーターのいずれか 1 つを設定する必要があります。 |
-BespokeReimagingScriptsPath <dir> | 再イメージング直前に各 OS プロファイルへ同期する、カスタム再イメージングスクリプトのフォルダー。アプリの隣にある BespokeReimagingScripts フォルダーを上書きします。既存のディレクトリである必要があります。 |
-Help | すべてのパラメーターの使用方法を表示して終了します。 |
-Version | 現在の .exe のバージョン番号のみ(例: 1.12)を表示して終了します。スクリプト作成に便利です。 |
-DescribeExitCode <n> | 単一の終了コードの名前と意味を表示して終了します。 |
-ListExitCodes | 終了コードの完全な表を表示して終了します。 |
ツールが適用するいくつかのルール:
-IngestOSFilePath と -PreIngestedOSFileHandle は同時に使用できません。これらは同じ対象を選択する 2 つの方法です。
-MachineToReimageHandle にも OS ソースが必要です。
-PreIngestedOSFileHandle には -MachineToReimageHandle が必要です。
OSManagerCLI.exe -IngestOSFilePath "D:\OSImages\gx3p_25Q3_f0885a6e.iso"
# Reimage a server using an OS you've already ingested
OSManagerCLI.exe -PreIngestedOSFileHandle gx3p_25Q3_f0885a6e -MachineToReimageHandle MYSERVER
# Ingest an OS and reimage a server in one go
OSManagerCLI.exe -IngestOSFilePath "D:\OSImages\gx3p_25Q3_f0885a6e.iso" -MachineToReimageHandle MYSERVER
OSManagerCLI は意味のある終了コードを返すため、スクリプト(およびユーザー)は実行がどのように終了したかを正確に把握できます。0 は成功を意味し、それ以外は停止した理由を示します。
| コード | 名前 | 意味 |
|---|
| 0 | Success | 正常に完了したか、通常どおり終了しました。 |
| コード | 名前 | 意味 |
|---|
| 100 | ParamMutuallyExclusiveSources | -IngestOSFilePath と -PreIngestedOSFileHandle の両方が指定されました(どちらか一方のみを使用してください)。 |
| 101 | ParamMachineHandleNeedsOsSource | -MachineToReimageHandle が OS ソースなしで指定されました。 |
| 102 | ParamPreIngestedHandleNeedsMachine | -PreIngestedOSFileHandle が -MachineToReimageHandle なしで指定されました。 |
| 103 | ParamBespokeReimagingScriptsPathNotFound | -BespokeReimagingScriptsPath が指定されましたが、パスが存在しません(またはディレクトリではありません)。 |
| コード | 名前 | 意味 |
|---|
| 200 | ConfigInvalidJson | 設定ファイルに無効な JSON が含まれています。 |
| 201 | NoDeploymentShareFolderSelected | OS ライブラリ(デプロイメント共有)フォルダーが選択されていません。 |
| 202 | DeploymentShareSetupFailedAsAdmin | 管理者として実行中にデプロイメント共有のセットアップに失敗しました。 |
| 203 | DeploymentShareSetupNeedsAdmin | デプロイメント共有のセットアップが未完了で、管理者権限が必要です。 |
| 204 | SevenZipMissingUserDeclined | 7-Zip が見つからず、それなしで続行しないことを選択しました。 |
| 205 | D3ServiceMissingUserDeclined | d3Service が検出されず、それなしで続行しないことを選択しました。 |
| 206 | PasswordProtectedSharingGuestMissing | パスワード保護共有を無効にできませんでした(組み込みの Guest アカウントが見つかりませんでした)。 |
| 207 | PasswordProtectedSharingUserDeclined | パスワード保護共有の無効化(Guest アカウントの有効化が必要)を拒否しました。 |
| 208 | GuestNetworkAccessPolicyUndetermined | Windows の Guest ネットワークアクセスポリシーを判別できませんでした。 |
| 209 | GuestNetworkAccessUserDeclined | サーバーがノートパソコン上のデプロイメント共有にアクセスできるようにする Windows ポリシー変更を拒否しました。 |
| 210 | LocalD3ServiceVersionTooLow | このマシンにインストールされている d3/Designer のバージョンが必要な最小バージョンを下回っています。 |
| 211 | D3InstalledButServiceNotRunning | このマシンに d3/Designer はインストールされていますが、d3Service プロセスが実行されていないため、ローカル API に到達できません。 |
| コード | 名前 | 意味 |
|---|
| 300 | HeadlessOsHandleNotFound | 取り込み済み OS のハンドルが OS ライブラリ内に見つかりませんでした。 |
| 301 | HeadlessOsLibraryEmpty | OS ライブラリが空です(まだ何も取り込まれていません)。 |
| コード | 名前 | 意味 |
|---|
| 400 | HeadlessIngestSevenZipPathNotSet | 設定に 7-Zip のパスが設定されていません。 |
| 401 | HeadlessIngestSevenZipPathInvalid | 設定された 7-Zip のパスが存在しません。 |
| 402 | HeadlessIngestArchiveUnreadable | 7-Zip がアーカイブを読み取れませんでした(無効または破損したファイル)。 |
| 403 | HeadlessIngestNotEnoughDiskSpace | アーカイブを展開するのに十分なディスク容量がありません。 |
| 404 | HeadlessIngestCreateDirFailed | OS ライブラリの保存先フォルダーを作成できませんでした。 |
| 405 | HeadlessIngestExtractionFailed | 7-Zip がアーカイブの展開中にエラーを返しました。 |
| 406 | HeadlessIngestNotExactlyTwoWims | アーカイブに .wim ファイルがちょうど 2 つ含まれていませんでした。 |
| 407 | HeadlessIngestNotExactlyOneBootWim | アーカイブにブート .wim ファイルがちょうど 1 つ含まれていませんでした。 |
| 408 | HeadlessIngestOsDirNotExactlyOneWim | /OS フォルダーに .wim ファイルがちょうど 1 つ含まれていませんでした。 |
| 409 | HeadlessIngestSourcesDirNotExactlyOneBootWim | /sources フォルダーにブート .wim ファイルがちょうど 1 つ含まれていませんでした。 |
| 410 | HeadlessIngestOsWimMoveFailed | OS .wim を OS ライブラリに移動できませんでした。 |
| 411 | HeadlessIngestBootWimMoveFailed | ブート .wim を OS ライブラリに移動できませんでした。 |
| 412 | HeadlessIngestFileNotFound | -IngestOSFilePath に指定されたファイルが存在しません。 |
| コード | 名前 | 意味 |
|---|
| 500 | HeadlessRedisguiseNoServerSelected | サーバーが選択されていません。 |
| 501 | HeadlessRedisguiseNoOsSelected | OS が選択されていません。 |
| 502 | HeadlessRedisguiseEndpointNotVerified | サーバーの d3Service API エンドポイントを解決して本人性を確認できませんでした。DNS-SD ディスカバリーと最後に判明したアドレスの両方を試しましたが、到達可能な IP とポート上で目的のマシンを確認できませんでした。 |
| 505 | HeadlessRedisguiseNoOsWim | 選択された OS に OS .wim ファイルが見つかりませんでした。 |
| 506 | HeadlessRedisguiseNoBootWim | 選択された OS にブート .wim ファイルが見つかりませんでした。 |
| 507 | HeadlessRedisguiseReimageRequestFailed | 再イメージングのリクエストが失敗しました。 |
| 508 | HeadlessRedisguiseBespokeScriptsSyncFailed | カスタム再イメージングスクリプトを OS ライブラリで更新できなかったため、古いカスタムロジックの実行を避けるために再イメージングを中止しました。 |
| 509 | HeadlessRedisguiseDesignerVersionTooLow | サーバーにインストールされている Designer のバージョンが必要な最小バージョンを下回っており、ヘッドレスモードでは上書きの確認ができません。 |
| 510 | HeadlessRedisguiseActorHasRunningProject | サーバーで Designer のプロジェクトが開いており、ヘッドレスモードでは上書きの確認ができません。 |
| 511 | HeadlessRedisguiseMultipleBootWims | OS プロファイルに複数のブート .wim が含まれており、ヘッドレスモードではどれを使用するか選択する確認ができません。 |
| コード | 名前 | 意味 |
|---|
| 600 | HeadlessUsbNoOsSelected | Redisguise USB の作成用に OS が選択されていません。 |