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

구문

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

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

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

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

설명

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

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

매개 변수

-Credential <PSCredential>

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

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

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Exclude <string[]>

이 cmdlet이 작동하지 않는 항목을 지정하며 다른 모든 항목을 포함합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Filter <string>

공급자의 형식 또는 언어에 필터를 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 와일드카드 사용을 포함하여 필터의 구문은 공급자에 따라 다릅니다. 공급자는 개체를 검색한 후에 Windows PowerShell을 통해 해당 개체를 필터링하는 대신 개체를 검색할 때 필터를 적용하기 때문에 필터는 다른 매개 변수보다 훨씬 효율적입니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

cmdlet이 다른 방법으로는 사용자가 액세스할 수 없는 항목에 대한 속성을 설정할 수 있도록 허용합니다. 구현은 공급자마다 다릅니다. 자세한 내용은 about_Providers를 참조하십시오.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Include <string[]>

다른 모든 항목을 제외하고 이 cmdlet이 작동하는 항목만 지정합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-InputObject <psobject>

변경하려는 속성이 포함된 개체를 지정합니다. 개체가 포함된 변수나 개체를 가져오는 명령을 입력하십시오.

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue, ByPropertyName)

와일드카드 문자 적용 여부

false

-LiteralPath <string[]>

항목 속성의 경로를 지정합니다. LiteralPath 값은 입력한 그대로 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 경로를 작은따옴표로 묶어야 합니다. 작은따옴표는 Windows PowerShell이 어떤 문자도 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Name <string>

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

필수 여부

true

위치

2

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-PassThru

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Path <string[]>

속성을 설정할 항목의 경로를 지정합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Value <Object>

속성의 값을 지정합니다.

필수 여부

true

위치

3

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Confirm

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-UseTransaction

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.Management.Automation.PSObject

개체를 Set-ItemProperty로 파이프할 수 있습니다.

출력

없음 또는 System.Management.Automation.PSCustomObject

Set-ItemProperty 명령을 PassThru 매개 변수와 함께 사용하는 경우 변경된 항목과 해당 새 속성 값을 나타내는 PSCustomObject 개체를 생성하고 그렇지 않으면 아무 출력도 생성하지 않습니다.

참고

Set-ItemProperty cmdlet은 모든 공급자가 제공하는 데이터에 사용할 수 있습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 "Get-PSProvider"를 입력합니다. 자세한 내용은 about_Providers를 참조하십시오.

예 1

C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value $true

설명
-----------
이 명령은 final.doc 파일의 IsReadOnly 속성 값을 true로 설정합니다. 

이 명령은 Set-ItemProperty cmdlet을 사용하여 final.doc 파일의 속성 값을 변경합니다. 먼저 Path 매개 변수를 사용하여 파일을 지정합니다. Name 매개 변수를 사용하여 속성의 이름을 지정하고 Value 매개 변수를 사용하여 새 값을 지정합니다.

$true 자동 변수는 TRUE 값을 나타냅니다. 자세한 내용은 about_Automatic_Variables를 참조하십시오.

파일은 System.IO.FileInfo 개체이며 IsReadOnly는 해당 속성 중 하나입니다. FileInfo 개체의 속성과 메서드를 모두 보려면 Get-Member cmdlet으로 파일을 파이프하십시오. 예를 들어 "final.doc | get-member"를 입력합니다.






예 2

C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823

C:\PS>get-itemproperty -path HKLM:\Software\MyCompany

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : mycompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823

C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824
C:\PS>get-itemproperty -path HKLM:\Software\MyCompany


PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : mycompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824

설명
-----------
이 예에서는 Set-ItemProperty를 사용하여 새 레지스트리 항목을 만들고 항목에 값을 할당하는 방법을 보여 줍니다. 이 명령은 HKLM\Software 키의 MyCompany 키에 NoOfEmployees 항목을 만들고 해당 값을 823으로 설정합니다.

레지스트리 항목은 레지스트리 키(항목)의 속성이므로 Set-ItemProperty를 사용하여 레지스트리 항목을 만들고 해당 값을 구성 및 변경합니다.

첫 번째 명령은 Set-ItemProperty cmdlet을 사용하여 레지스트리 항목을 만든 다음 Path 매개 변수를 사용하여 HKLM: 드라이브의 경로와 Software\MyCompany 키를 지정합니다. Name 매개 변수를 사용하여 항목의 이름을 지정하고 Value 매개 변수를 사용하여 해당 값을 지정합니다.

두 번째 명령은 Get-ItemProperty cmdlet을 사용하여 새 레지스트리 항목을 표시합니다. 항목이나 하위 항목이 아니라 키의 속성이므로 Get-Item 또는 Get-ChildItem cmdlet을 사용하면 항목이 나타나지 않습니다.

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

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

HKLM: 드라이브에 대한 자세한 내용을 보려면 "get-help get-psdrive"를 입력하십시오. Windows PowerShell을 사용하여 레지스트리를 관리하는 방법에 대한 자세한 내용을 보려면 "get-help registry"를 입력하십시오.






예 3

C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $true

설명
-----------
이들 명령은 파이프라인 연산자(|)를 사용하여 항목을 Set-ItemProperty로 전달하는 방법을 보여 줍니다. 

이 명령의 첫 번째 부분은 Get-ChildItem cmdlet을 사용하여 Weekly.txt 파일을 나타내는 개체를 가져오고 파이프라인 연산자를 사용하여 파일 개체를 Set-ItemProperty로 보냅니다. Set-ItemProperty 명령은 Name 및 Value 매개 변수를 사용하여 속성과 해당하는 새 값을 지정합니다.

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






참고 항목




목차