次の方法で共有


Invoke-CMScript

Configuration Manager で PowerShell スクリプトを実行します。

構文

Invoke-CMScript
      [-Collection <IResultObject>]
      [-CollectionId <String>]
      [-CollectionName <String>]
      [-Device <IResultObject[]>]
      -InputObject <IResultObject>
      [-PassThru]
      [-ScriptParameter <Hashtable>]
      [-DisableWildcardHandling]
      [-ForceWildcardHandling]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CMScript
      [-Collection <IResultObject>]
      [-CollectionId <String>]
      [-CollectionName <String>]
      [-Device <IResultObject[]>]
      [-PassThru]
      -ScriptGuid <String>
      [-ScriptParameter <Hashtable>]
      [-DisableWildcardHandling]
      [-ForceWildcardHandling]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

このコマンドレットを使用して、Configuration Manager で PowerShell スクリプトを実行します。 これらのスクリプトは、Configuration Manager で統合および管理されます。

承認されるまでスクリプトを実行することはできません。 プログラムでスクリプトを承認するには、 Approve-CMScript コマンドレットを使用します。

詳細については、「 Configuration Manager コンソールから PowerShell スクリプトを作成して実行する」を参照してください

注:

PS XYZ:\>など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。

例 1: ID を使用してスクリプトを実行する

このコマンドは、ID DF8E7546-FD66-4A3D-A129-53AF5AA54F80を使用してスクリプトを実行します。

Invoke-CMScript -ScriptGuid "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"

例 2: オブジェクト変数を使用してスクリプトを実行する

最初のコマンドは、ID によってスクリプト オブジェクトを取得し、 $ScriptObj 変数に格納します。 2 番目のコマンドは、その変数に格納されているスクリプトを実行します。

$ScriptObj = Get-CMScript -Id "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"

Invoke-CMScript -InputObject $ScriptObj

例 3: ターゲット スクリプトにパラメーターを渡す

最初の行は、ハッシュテーブルにパラメーターを格納します。 2 行目は、ターゲット デバイスでスクリプトを実行し、ハッシュテーブルでパラメーターを渡します。

$parameters = @{
  "FolderName"="c:\test\test1"
  "FileName"="test2"
}

Invoke-CMScript -ScriptGuid $scriptGuid -Device (Get-CMDevice -Name $targetPCName) -ScriptParameter $parameters

パラメーター

-Collection

このスクリプトを実行するコレクション オブジェクトを指定します。 このオブジェクトを取得するには、 Get-CMCollection コマンドレットを 使用します。

型:IResultObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CollectionId

このスクリプトを実行するコレクションの ID を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CollectionName

このスクリプトを実行するコレクションの名前を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットを実行する前に確認メッセージを表示します。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Device

このスクリプトを実行するデバイスのオブジェクトを指定します。 このオブジェクトを取得するには、 Get-CMDevice コマンドレットを使用します。

型:IResultObject[]
Aliases:Devices
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DisableWildcardHandling

このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

実行するスクリプト オブジェクトを指定します。 このオブジェクトを取得するには、 Get-CMScript コマンドレットを使用します。

型:IResultObject
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-PassThru

作業中のアイテムを表す オブジェクトを返します。 既定では、このコマンドレットは出力を生成しない場合があります。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ScheduleTime

後でスクリプトの実行をスケジュールするには、UTC DateTime を指定します。

型:DateTime
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ScriptGuid

実行するスクリプトの ID を指定します。 形式は標準の GUID です。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ScriptParameter

バージョン 2010 以降に適用されます。 ターゲット スクリプトにパラメーターを渡すには、このパラメーターを使用します。 必要なパラメーターを使用してハッシュテーブルを指定します。 使用方法の例については、「 」を参照してください。

型:Hashtable
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

出力

System.Object