다음을 통해 공유


Set-ItemProperty

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

구문

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

Description

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

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

예제

예제 1: 파일의 속성 설정

이 명령은 "final.doc" 파일의 IsReadOnly 속성 값을 "true"로 설정합니다. Path 사용하여 파일을 지정하고, 이름 속성의 이름을 지정하고, 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 사용하여 새 레지스트리 항목을 만들고 항목에 값을 할당하는 방법을 보여줍니다. "HKLM\Software" 키의 "ContosoCompany" 키에 "NoOfEmployees" 항목을 만들고 해당 값을 823으로 설정합니다.

레지스트리 항목은 항목인 레지스트리 키의 속성으로 간주되므로 Set-ItemProperty 사용하여 레지스트리 항목을 만들고 해당 값을 설정하고 변경합니다.

첫 번째 명령은 레지스트리 항목을 만듭니다. 경로 사용하여 HKLM: 드라이브의 경로와 "Software\MyCompany" 키를 지정합니다. 이 명령은 이름 사용하여 항목 이름을 지정하고 값 값을 지정합니다.

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

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

New-ItemProperty cmdlet을 사용하여 레지스트리 항목과 해당 값을 만든 다음 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 명령은 NameValue 매개 변수를 사용하여 속성과 새 값을 지정합니다.

이 명령은 InputObject 매개 변수를 사용하여 Get-ChildItem 가져오는 개체를 지정하는 것과 같습니다.

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

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Credential

이 작업을 수행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

"User01" 또는 "Domain01\User01"과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에서 생성된 개체와 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

경고

이 매개 변수는 Windows PowerShell과 함께 설치된 공급자에서 지원되지 않습니다.

형식:PSCredential
Position:Named
Default value:Current user
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Exclude

cmdlet이 동작하지 않는 항목을 지정하고 다른 모든 항목을 포함합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력합니다. 와일드카드 문자가 허용됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Filter

공급자의 형식 또는 언어로 필터를 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다.

와일드카드 문자 사용을 포함하여 필터의 구문은 공급자에 따라 달라집니다. 필터는 검색된 후 PowerShell이 개체를 필터링하지 않고 cmdlet이 개체를 가져올 때 공급자가 적용하기 때문에 다른 매개 변수보다 더 효율적입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Force

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

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Include

cmdlet이 작동할 항목만 지정하며 다른 모든 항목은 제외됩니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력합니다. 와일드카드 문자가 허용됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

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

형식:PSObject
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-LiteralPath

항목 속성의 경로를 지정합니다. Path 매개 변수와 달리 LiteralPath 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

형식:String[]
별칭:PSPath
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Name

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

형식:String
별칭:PSProperty
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PassThru

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

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

수정할 속성이 있는 항목의 경로를 지정합니다.

형식:String[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-UseTransaction

활성 트랜잭션에 명령을 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions참조하세요.

형식:SwitchParameter
별칭:usetx
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Value

속성의 값을 지정합니다.

형식:Object
Position:2
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSObject

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

출력

None, System.Management.Automation.PSCustomObject

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

참고

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