次の方法で共有


Set-ItemProperty

アイテムのプロパティの値を作成または変更します。

構文

propertyValuePathSet (既定)

Set-ItemProperty
    [-Path] <String[]>
    [-Name] <String>
    [-Value] <Object>
    [-PassThru]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

propertyPSObjectPathSet

Set-ItemProperty
    [-Path] <String[]>
    -InputObject <PSObject>
    [-PassThru]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

propertyValueLiteralPathSet

Set-ItemProperty
    [-Name] <String>
    [-Value] <Object>
    -LiteralPath <String[]>
    [-PassThru]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

propertyPSObjectLiteralPathSet

Set-ItemProperty
    -LiteralPath <String[]>
    -InputObject <PSObject>
    [-PassThru]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

説明

Set-ItemProperty コマンドレットは、指定した項目のプロパティの値を変更します。 コマンドレットを使用して、項目のプロパティを確立または変更できます。 たとえば、Set-ItemProperty を使用して、ファイル オブジェクトの IsReadOnly プロパティの値を $Trueに設定できます。

Set-ItemProperty を使用して、レジストリ値とデータを作成および変更することもできます。 たとえば、新しいレジストリ エントリをキーに追加し、その値を確立または変更できます。

例 1: ファイルのプロパティを設定する

このコマンドは、"final.doc" ファイルの IsReadOnly プロパティの値を "true" に設定します。 Path を使用してファイルを指定し、Name を使用してプロパティの名前を指定し、Value パラメーターを使用して新しい値を指定します。

ファイルは System.IO.FileInfo オブジェクト であり、IsReadOnly はそのプロパティの 1 つです。 すべてのプロパティを表示するには、「Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property」と入力します。

$true 自動変数は、"TRUE" の値を表します。 詳細については、about_Automatic_Variablesを参照してください。

Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true

例 2: レジストリ エントリと値を作成する

この例では、Set-ItemProperty を使用して新しいレジストリ エントリを作成し、エントリに値を割り当てる方法を示します。 "HKLM\Software" キーの "ContosoCompany" キーに "NoOfEmployees" エントリを作成し、その値を 823 に設定します。

レジストリ エントリは、項目であるレジストリ キーのプロパティと見なされるため、Set-ItemProperty を使用してレジストリ エントリを作成し、その値を確立および変更します。

最初のコマンドは、レジストリ エントリを作成します。 Path を使用して、HKLM: ドライブのパスと "Software\MyCompany" キーを指定します。 このコマンドでは、Name を使用してエントリ名を指定し、値を指定する値 します。

2 番目のコマンドでは、Get-ItemProperty コマンドレットを使用して新しいレジストリ エントリを表示します。 Get-Item または Get-ChildItem コマンドレットを使用する場合、エントリは項目や子項目ではなくキーのプロパティであるため、表示されません。

3 番目のコマンドは、NoOfEmployees エントリの値を 824 に変更します。

New-ItemProperty コマンドレットを使用してレジストリ エントリとその値を作成し、Set-ItemProperty を使用して値を変更することもできます。

HKLM: ドライブの詳細については、「Get-Help Get-PSDrive」と入力します。 PowerShell を使用してレジストリを管理する方法の詳細については、「Get-Help Registry」と入力します。

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824

例 3: パイプラインを使用して項目を変更する

これらのコマンドは、パイプライン演算子 (|) を使用してアイテムを Set-ItemProperty に送信する方法を示しています。

コマンドの最初の部分では、 Get-ChildItem を使用して、「Weekly.txt」ファイルを表すオブジェクトを取得します。 このコマンドは、パイプライン演算子を使用して、ファイルオブジェクトを Set-ItemPropertyに送信します。 Set-ItemProperty コマンドは、Name パラメーターと Value パラメーターを使用して、プロパティとその新しい値を指定します。

このコマンドは、 InputObject パラメーターを使用して、 Get-ChildItem が取得するオブジェクトを指定するのと同じです。

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

パラメーター

-Confirm

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

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Credential

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

Warnung

このパラメーターは、Windows PowerShell でインストールされているプロバイダーではサポートされていません。

パラメーターのプロパティ

型:PSCredential
規定値:Current user
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Exclude

コマンドレットが動作しない項目を指定し、他のすべての項目を含めます。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Filter

プロバイダーの形式または言語でフィルターを指定します。 このパラメーターの値は、Path パラメーターを修飾します。

ワイルドカード文字の使用を含むフィルターの構文は、プロバイダーによって異なります。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにプロバイダーによって適用されるため、他のパラメーターよりも効率的です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:True
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

ユーザーがアクセスできない項目に対してプロパティを設定するようにコマンドレットに強制します。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Include

コマンドレットが動作する項目のみを指定し、他のすべての項目は除外します。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InputObject

このコマンドレットが変更するプロパティを持つオブジェクトを指定します。 オブジェクトを含む変数、またはオブジェクトを取得するコマンドを入力します。

パラメーターのプロパティ

型:PSObject
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

propertyPSObjectPathSet
配置:Named
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
propertyPSObjectLiteralPathSet
配置:Named
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-LiteralPath

item プロパティのパスを指定します。 Path パラメーターとは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:PSPath

パラメーター セット

propertyValueLiteralPathSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
propertyPSObjectLiteralPathSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Name

プロパティの名前を指定します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:PSProperty

パラメーター セット

propertyValuePathSet
配置:1
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
propertyValueLiteralPathSet
配置:1
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-PassThru

item プロパティを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Path

変更するプロパティを持つ項目のパスを指定します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

propertyValuePathSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
propertyPSObjectPathSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-UseTransaction

アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、about_Transactionsを参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:usetx

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Value

プロパティの値を指定します。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

propertyValuePathSet
配置:2
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
propertyValueLiteralPathSet
配置:2
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

PSObject

このコマンドレットにオブジェクトをパイプできます。

出力

None, System.Management.Automation.PSCustomObject

このコマンドレットは、変更された項目とその新しいプロパティ値を表す PSCustomObject オブジェクトを生成します (PassThru パラメーターを指定した場合)。 それ以外の場合、このコマンドレットは出力を生成しません。

メモ

Set-ItemProperty は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider」と入力します。 詳細については、about_Providersを参照してください。