Set-ItemProperty

항목의 속성 값을 만들거나 변경합니다.

Syntax

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
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-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>]

Description

cmdlet은 Set-ItemProperty 지정된 항목의 속성 값을 변경합니다. 이 cmdlet을 사용하여 항목 속성을 설정하거나 변경할 수 있습니다. 예를 들어 파일 개체$TrueIsReadOnly 속성 값을 .로 설정하는 데 사용할 Set-ItemProperty 수 있습니다.

레지스트리 값과 데이터를 만들고 변경하는 데도 사용합니다 Set-ItemProperty . 예를 들어 새 레지스트리 항목을 키에 추가하고 해당 값을 구성하거나 변경할 수 있습니다.

예제

예제 1: 파일의 속성 설정

이 명령은 "final.doc" 파일의 IsReadOnly 속성 값을 "true"로 설정합니다. Path를 사용하여 파일을 지정하고, Name을 사용하여 속성의 이름을 지정하고, Value 매개 변수를 사용하여 새 값을 지정합니다.

파일은 System.IO.FileInfo 개체이고 IsReadOnly 는 해당 속성 중 하나일 뿐입니다. 모든 속성을 보려면 .를 입력합니다 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 을 사용하여 항목 이름을 지정하고 값을 지정하는 값을 지정합니다.

두 번째 명령은 cmdlet을 Get-ItemProperty 사용하여 새 레지스트리 항목을 확인합니다. 또는 Get-ChildItem cmdlet을 Get-Item 사용하는 경우 항목이나 자식 항목이 아닌 키의 속성이므로 항목이 표시되지 않습니다.

세 번째 명령은 NoOfEmployees 항목의 값을 824로 변경합니다.

cmdlet을 New-ItemProperty 사용하여 레지스트리 항목과 해당 값을 만든 다음 값을 변경하는 데 사용할 Set-ItemProperty 수도 있습니다.

드라이브에 대한 자세한 내용을 보려면 . HKLM: 를 입력합니다 Get-Help Get-PSDrive. PowerShell을 사용하여 레지스트리를 관리하는 방법에 대한 자세한 내용을 보려면 다음을 입력합니다 Get-Help Registry.

예제 3: 파이프라인을 사용하여 항목 수정

이 예제에서는 파일을 가져오는 weekly.txt 데 사용합니다Get-ChildItem. 파일 개체가 .에 Set-ItemProperty파이프됩니다. 이 Set-ItemProperty 명령은 NameValue 매개 변수를 사용하여 속성과 새 값을 지정합니다.

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

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

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

-Credential

참고

이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다. 다른 사용자를 가장하거나 이 cmdlet을 실행할 때 자격 증명을 높이려면 Invoke-Command를 사용합니다.

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

-Exclude

문자열 배열로 이 cmdlet이 작업에서 제외하는 항목 또는 항목을 지정합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Exclude 매개 변수는 명령이 항목의 내용(예: C:\Windows\*와일드카드 문자가 디렉터리의 내용을 지정하는 경우)을 포함하는 경우에만 유효합니다C:\Windows.

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

-Filter

Path 매개 변수를 한정할 필터를 지정합니다. FileSystem 공급자는 필터 사용을 지원하는 유일한 설치된 PowerShell 공급자입니다. FileSystem 필터 언어에 대한 구문은 about_Wildcards 찾을 수 있습니다. 필터는 검색 후 PowerShell이 개체를 필터링하지 않고 cmdlet이 개체를 가져올 때 공급자가 적용하기 때문에 다른 매개 변수보다 더 효율적입니다.

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

-Force

사용자가 액세스할 수 없는 항목에 대해 cmdlet이 속성을 설정하도록 합니다. 구현은 공급자에 따라 다릅니다. 자세한 내용은 about_Providers를 참조하세요.

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

-Include

문자열 배열로 이 cmdlet이 작업에 포함하는 항목 또는 항목을 지정합니다. 이 매개 변수 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt".)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Include 매개 변수는 명령에 항목의 내용(예: C:\Windows\*와일드카드 문자가 디렉터리의 내용을 지정하는 경우)을 포함하는 경우에만 유효합니다C:\Windows.

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

-InputObject

이 cmdlet이 변경하는 속성이 있는 개체를 지정합니다. 개체가 포함된 변수 또는 개체를 가져오는 명령을 입력하세요.

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

-LiteralPath

하나 이상의 위치에 대한 경로를 지정합니다. LiteralPath의 값은 입력된 대로 정확히 사용됩니다. 어떠한 문자도 와일드카드로 해석되지 않습니다. 이스케이프 문자가 포함된 경로는 작은따옴표로 묶으세요. 따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

자세한 내용은 about_Quoting_Rules 참조하세요.

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

-Name

속성의 이름을 지정합니다.

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

-PassThru

항목 속성을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

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

-Path

수정할 속성이 있는 항목의 경로를 지정합니다. 와일드카드 문자를 사용할 수 있습니다.

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

-Type

형식 은 레지스트리 공급자가 cmdlet에 Set-ItemProperty 추가하는 동적 매개 변수입니다. 이 매개 변수는 레지스트리 드라이브에서만 작동합니다.

이 cmdlet에서 추가하는 속성의 형식을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • String: null로 끝나는 문자열을 지정합니다. REG_SZ 값에 사용됩니다.
  • ExpandString: 값을 검색할 때 확장되는 환경 변수에 대한 확장되지 않은 참조를 포함하는 null로 끝나는 문자열을 지정합니다. REG_EXPAND_SZ 값에 사용됩니다.
  • Binary: 모든 형식의 이진 데이터를 지정합니다. REG_BINARY 값에 사용됩니다.
  • DWord: 32비트 이진 번호를 지정합니다. REG_DWORD 값에 사용됩니다.
  • MultiString: 두 개의 null 문자로 끝나는 null로 끝나는 문자열의 배열을 지정합니다. REG_MULTI_SZ 값에 사용됩니다.
  • Qword: 64비트 이진 번호를 지정합니다. REG_QWORD 값에 사용됩니다.
  • Unknown: REG_RESOURCE_LIST 값과 같이 지원되지 않는 레지스트리 데이터 형식을 나타냅니다.
Type:RegistryValueKind
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Value

속성의 값을 지정합니다.

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

-WhatIf

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

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

입력

PSObject

개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

None, System.Management.Automation.PSCustomObject

이 cmdlet은 PassThru 매개 변수를 지정하는 경우 변경된 항목과 새 속성 값을 나타내는 PSCustomObject 개체를 생성합니다. 그러지 않으면 이 cmdlet에서 출력이 생성되지 않습니다.

참고

Set-ItemProperty 는 모든 공급자가 노출하는 데이터와 함께 작동하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 .를 입력 Get-PSProvider합니다. 자세한 내용은 about_Providers를 참조하세요.