Set-ItemProperty

項目のプロパティの値を作成または変更します。

構文

Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

説明

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

また、レジストリ値とデータの作成と変更にも使用 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 作成し、エントリに値を割り当てる方法を示します。 キーの "ContosoCompany" キー HKLM\Software に "NoOfEmployees" エントリを作成し、その値を 823 に設定します。

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

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

最初のコマンドは、レジストリ エントリを作成します。 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

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

次の例では、ファイルを取得するために使用 Get-ChildItem します weekly.txt 。 ファイル オブジェクトはパイプ処理されます Set-ItemProperty。 このコマンドでは Set-ItemPropertyName パラメーターと Value パラメーターを使用して、プロパティとその新しい値を指定します。

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

パラメーター

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Note

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Command を使用 します

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターンを入力します (例 *.txt: . ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに項目の内容 (wildカード 文字がディレクトリのC:\Windows内容を指定する場合C:\Windows\*など) が含まれている場合にのみ有効です。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターの使用をサポートする唯一のインストール済み PowerShell プロバイダーです。 FileSystem フィルター言語構文は、about_Wildカードで確認できます。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにプロバイダーによって適用されるため、他のパラメーターよりも効率的です。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターンを入力します (例 "*.txt": . ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに項目の内容が含まれている場合にのみ有効です。この場合、C:\Windows\*wildカード 文字はディレクトリの内容をC:\Windows指定します。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

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

詳細については、「about_Quoting_Rules」を参照してください

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

変更するプロパティを持つ項目のパスを指定します。 ワイルドカード文字を使用できます。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Type

これは、レジストリ プロバイダーが使用できる動的パラメーターです。 レジストリ プロバイダーとこのパラメーターは、Windows でのみ使用できます。

このコマンドレットが追加するプロパティの種類を指定します。 このパラメーターの有効値は、次のとおりです。

  • String: null で終わる文字列を指定します。 REG_SZ値に使用されます。
  • ExpandString: 値の取得時に展開される環境変数への展開されていない参照を含む null で終わる文字列を指定します。 REG_EXPAND_SZ値に使用されます。
  • Binary: 任意の形式のバイナリ データを指定します。 REG_BINARY値に使用されます。
  • DWord: 32 ビットの 2 進数を指定します。 REG_DWORD値に使用されます。
  • MultiString: 2 つの null 文字で終わる null で終わる文字列の配列を指定します。 REG_MULTI_SZ値に使用されます。
  • Qword: 64 ビットの 2 進数を指定します。 REG_QWORD値に使用されます。
  • Unknown: REG_RESOURCE_LIST値など、サポートされていないレジストリ データ型を示します。
Type:RegistryValueKind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

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

Type:Object
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

PSObject

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

出力

None

既定では、このコマンドレットは出力を返しません。

PSCustomObject

PassThru パラメーターを使用すると、このコマンドレットは、変更された項目とその新しいプロパティ値を表す PSCustomObject オブジェクトを返します。

メモ

PowerShell には、次のエイリアスが Set-ItemProperty含まれています。

  • すべてのプラットフォーム:
    • sp

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