Cisco UCS Director PowerShell API ユーザ ガイド、リリース 5.3
コマンドレットの操作
コマンドレットの操作

コマンドレットの操作

この章は、次の項で構成されています。

PowerShell コンソールでの Cisco UCS Director 用の設定

コマンドレットを Cisco UCS Director サーバに対して実行するには、PowerShell コンソールで環境変数を設定する必要があります。 すべてのコマンドレットは、Cisco UCS Director の IP アドレスおよび REST キーをオプション パラメータとして受け入れます。 これらのパラメータを指定しない場合、コマンドレットは PowerShell 環境変数 UCSD_SERVER および UCSD_RESTKEY から選択します。

環境変数は、以下のように SetEnvironmentVariable メソッドを使用して設定できます。

[Environment]::SetEnvironmentVariable("UCSD_SERVER","10.1.1.1","User")
[Environment]::SetEnvironmentVariable("UCSD_RESTKEY","562FDF763A384E78B9BAB7FE02CA13B6","User")

設定済みの環境変数を取得するには、次のように GetEnvironmentVariable コマンドを使用します。

[Environment]::GetEnvironmentVariable("UCSD_RESTKEY","User")

環境変数を変更した場合、セッションの再開後に適用されます。

へルプの利用方法

コマンドレットは、Windows PowerShell で実行できます。 コマンドレットのヘルプを表示するには、? または get-Help コマンドを使用します。

コマンドレットで ? を入力すると、そのコマンドレットの構文、パラメータ、エイリアス、および説明が表示されます。

以下に、コマンドレットのヘルプを表示する例を示します。

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPISubmitServiceRequest –?

NAME
	   Invoke–userAPISubmitServiceRequest	

SYNTAX
	   Invoke–userAPISubmitServiceRequest [–catalogName] <string> [-vdcName] <string> [-durationHours] <int> [-beginTime] <long> [-
quantity] <int> [-comments] <string> [-server <string>] [-restkey <string>]

ALIASES
    None

REMARKS
    None

	
PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS>

各コマンドレットには、必須パラメータとオプション パラメータがあります。 たとえば、Invoke–userAPISubmitServiceRequest コマンドレットには、必須パラメータとして catalogName、オプション パラメータとして server および restKey があります。

次のように get-Help コマンド、コマンドレット名、およびパラメータを使用すると、コマンドレットの個々のパラメータに関する詳しいヘルプを表示できます。

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> get-Help Invoke–userAPISubmitServiceRequest –Parameter catalogName

–catalogName <string>

  Required?                    true
  Position?                    0
  Accept pipeline input?       false
  Paramter set name            <All>
  Aliases                      None		
  Dynamic?                     None		


PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS>
PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> get-Help Invoke–userAPISubmitServiceRequest –Parameter server

–server <string>

  Required?                    false
  Position?                    Named
  Accept pipeline input?       false
  Paramter set name            <All>
  Aliases                      None		
  Dynamic?                     false

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS>

入力の定義

コマンドレットが受け入れる入力は、『Cisco UCS Director REST Developer Guide』で説明されています。 REST API の詳細については、『Cisco UCS Director REST Developer Guide』を参照してください。

ワークフローを送信するコマンドレットは、名前と値のペアの配列をワークフロー入力として受け入れます。 入力は、以下のようにコロンで区切った名前と値のペアからなる配列として指定する必要があります。

Name1:value1, Name2:value2

たとえば、user-add-test という名前のワークフローを送信する場合、コマンドラインは次のようになります。

Invoke-userAPISubmitWorkflowServiceRequest user-add-test -parameters user-type:Regular,group-id:1,login-name:cmdlettest1,password:test,confirm-password:test,email:user@mail.com

コマンドレットの実行

コマンドレットは、他のすべての PowerShell コマンドと同じ方法で実行されます。 パイプ演算子(¦)を使用することで、一般的な操作(検索やフィルタリングなど)をコマンドの出力に適用できます。

以下に示す例では、?コマンドを使ってコマンドレットのパラメータを取得し、コマンドレット出力をキャプチャしてフィルタリングします。

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPIGetWorkflowInputValues –?

NAME
	   Invoke–userAPIGetWorkflowInputValues	

SYNTAX
	   Invoke–userAPIGetWorkflowInputValues [–srId] <int> [-server <string>] [-restkey <string>] [<CommonParameters>]

ALIASES
    None

REMARKS
    None

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPIGetWorkflowInputValues 429

Input Set Id   Action Id    Field Id                       Field Value
------------   ---------    --------                       -----------
18             0            WF_EMPTY_INPUTS
18             156          input_0_user-type471           Regular
18             156          AddUser_231.OUTUT_USER_NAME    cmdlettest1
18             156          input_3_password453            test
18             156          input_4_confirm-password361    test
18             156          input_5_email1932              user@mail.com
18             156          input_1_group-id135            1
18             156          input_2_login-name867          cmdlettest1

	
PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPIGetWorkflowInputValues 429 ¦ Select-Object 'Field Id', 'Field Value'

Field Id                                     Field Value
--------                                     -----------
WF_EMPTY_INPUTS
input_0_user-type471                         Regular
AddUser_231.OUTUT_USER_NAME                  cmdlettest1
input_3_password453                          test
input_4_confirm-password361                  test
input_5_email1932                            user@mail.com
input_1_group-id135                          1
input_2_login-name867                        cmdlettest1

PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS>

使用例:サービス要求のキャンセル

ここでは、PowerShell コンソールからサービス要求をキャンセルする方法について説明します。

はじめる前に

Cisco UCS Director サーバに対してコマンドレットを実行する場合は、PowerShell コンソールで環境変数がすでに設定されていることを確認してください。 詳細については、PowerShell コンソールでの Cisco UCS Director 用の設定を参照してください。


    ステップ 1   Get-Command を使用して、使用可能なコマンドレットのリストを表示します。 サービス要求をキャンセルするためのコマンドレットは、Invoke–userAPICancelServiceRequest です。
    ステップ 2   Invoke–userAPICancelServiceRequest コマンドレットのパラメータを取得するには、? コマンドを使用します。
    PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPICancelServiceRequest –?
    
    NAME
    	   Invoke–userAPICancelServiceRequest	
    
    SYNTAX
    	   Invoke–userAPICancelServiceRequest [–requestId] <int> [-server <string>] [-restkey <string>] [<CommonParameters>]
    
    ALIASES
        None
    
    REMARKS
        None
    
    Invoke–userAPICancelServiceRequest コマンドレットを実行するために必要な入力は、以下のとおりです。
    • requestId:必須パラメータ

    • server:オプション パラメータ

    • restKey:オプション パラメータ

    (注)     

    コマンドレットの個々のパラメータについての詳細なヘルプを表示するには、get-Help コマンドを使用します。 詳細については、へルプの利用方法を参照してください。

    ステップ 3   以下のように、サービス要求 ID(たとえば 79)を渡して、コマンドを実行します。
    PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS> Invoke–userAPICancelServiceRequest 79
    
    
    このコマンドは出力としてブール値を返します。 サービス要求が正常にキャンセルされると、出力として True が返されます。
    True
    PS C:\Program Files (x86)\Cisco\Cisco UCS Director PowerShell Console\Modules\CiscoUcsdPS>
    
    

    パイプライン オブジェクト

    パイプ演算子(¦)で複数のコマンドを連結することで、コマンド出力に対して共通のオプションを実行できます。 各コマンドの出力が、その次のコマンドの入力として使用されます。

    次の表に、コマンドレットごとにパイプラインに書き込まれるオブジェクトのタイプを記載します。

    コマンドレット 返されるオブジェクト タイプ
    Invoke-userAPICancelServiceRequest SR ID (Int)
    Invoke-userAPIExecuteVMAction VM Id ( String )
    Invoke-userAPIGetAllCatalogs APITabularReport
    Invoke-userAPIGetAllGroups APITabularReport
    Invoke-userAPIGetAllVDCs APITabularReport
    Invoke-userAPIGetAvailableReports APIReportDefinition の配列
    Invoke-userAPIGetHistoricalReport HistoricalDataSeries の配列
    Invoke-userAPIGetInstantDataReport APISnapshotReport
    Invoke-userAPIGetPage VMDataViewPaginated
    Invoke-userAPIGetServiceRequestDetails APIServiceRequestDetails
    Invoke-userAPIGetServiceRequests APITabularReport
    Invoke-userAPIGetServiceRequestWorkFlow APIWorkflowStatus
    Invoke-userAPIGetTabularReport APITabularReport
    Invoke-userAPIGetVMActionRequests APITabularReport
    Invoke-userAPIGetWorkflowInputs APIWorkflowInputDetail の配列
    Invoke-userAPIGetWorkflowInputValue 文字列
    Invoke-userAPIGetWorkflowInputValues WorkflowInputValue
    Invoke-userAPIGetWorkflows CustomActionDefinition の配列
    Invoke-userAPIGetWorkflowStatus 整数(Integer)
    Invoke-userAPIReconfigureVM VM Id ( String )
    Invoke-userAPIRollbackWorkflow SR ID
    Invoke-userAPISubmitServiceRequest SR ID
    Invoke-userAPISubmitServiceRequestCustom SR ID
    Invoke-userAPISubmitWorkflowServiceRequest SR ID
    Invoke-userAPISubmitWorkflowServiceRequestWithGroup SR ID
    Invoke-userAPISubmitWorkflowServiceRequestWithStartTimeAndDurationHours SR ID
    Invoke-userAPIValidateWorkFlow APIWFValidationResult
    Invoke-userAPIWorkflowInputDetails APIWorkflowInputDetails

    レポートの表示

    レポートを表示するには、次のコマンドレットを使用できます。
    • Invoke-UserAPIGetAllCatalogs

    • Invoke-UserAPIGetAllGroups

    • Invoke-UserAPIGetAvailableReports

    • Invoke-UserAPIGetHistoricalReports

    • Invoke-UserAPIGetInstantDataReport

    • Invoke-UserAPIGetPage

    • Invoke-UserAPIGetSeviceRequestDetails

    • Invoke-UserAPIGetSeviceRequests

    • Invoke-UserAPIGetSeviceRequestWorkflow

    • Invoke-UserAPIGetTabularReport

    • Invoke-UserAPIGetVMActionRequests

    • Invoke-UserAPIGetWorkflowInputs

    • Invoke-UserAPIGetWorkflowInputValue

    • Invoke-UserAPIGetWorkflowInputValues

    • Invoke-UserAPIGetWorkflows

    • Invoke-UserAPIGetWorkflowStatus

    userAPIGetPage API はパラメータの 1 つとして、ページ番号付きレポートの名前を必要とします。

    以下の表に、レポート名とそのコンテキスト値を示します。

    レポート名 コンテキスト値
    CHARGEBACK_DETAILS_SERVICES_GLOBAL_TABULAR なし
    PER_CLOUD_ARCHIVED_HYPERV_VM_LIST_REPORT <cloudName>
    vms.paginated.report <cloudName>
    PER_CLOUD_ARCHIVED_VM_LIST_REPORT <cloudName>

    以下に、vmware-account アカウント レポートのページを取得する例を示します。

    Invoke-userAPIGetPage vms.paginated.report vmware-account 1 10