Sdílet prostřednictvím


Set-ItemProperty

Vytvoří nebo změní hodnotu vlastnosti položky.

Syntaxe

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>]

Description

Rutina Set-ItemProperty změní hodnotu vlastnosti zadané položky. Pomocí této rutiny můžete vytvořit nebo změnit vlastnosti položek. Pomocí Set-ItemProperty můžete například nastavit hodnotu vlastnosti IsReadOnly objektu souboru na $True.

K vytváření a změnám hodnot a dat registru také používáte Set-ItemProperty. Můžete například přidat novou položku registru do klíče a vytvořit nebo změnit její hodnotu.

Příklady

Příklad 1: Nastavení vlastnosti souboru

Tento příkaz nastaví hodnotu IsReadOnly vlastnost "final.doc" souboru na hodnotu true. Používá Path zadat soubor, Název zadat název vlastnosti a parametr Hodnota zadat novou hodnotu.

Soubor je objekt System.IO.FileInfo a IsReadOnly je jen jednou z jejích vlastností. Chcete-li zobrazit všechny vlastnosti, zadejte Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

Automatická proměnná $true představuje hodnotu TRUE. Další informace naleznete v tématu about_Automatic_Variables.

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

Příklad 2: Vytvoření položky a hodnoty registru

Tento příklad ukazuje, jak pomocí Set-ItemProperty vytvořit novou položku registru a přiřadit k položce hodnotu. Vytvoří položku NoOfEmployees v klíči ContosoCompany v klíči HKLM\Software a nastaví jeho hodnotu na 823.

Vzhledem k tomu, že položky registru jsou považovány za vlastnosti klíčů registru, což jsou položky, používáte Set-ItemProperty k vytvoření položek registru a k vytvoření a změně jejich hodnot.

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

První příkaz vytvoří položku registru. Používá Path k určení cesty jednotky HKLM: a klíče Software\MyCompany. Příkaz používá Název k zadání názvu položky a Hodnota zadat hodnotu.

Druhý příkaz použije rutinu Get-ItemProperty k zobrazení nové položky registru. Pokud používáte rutiny Get-Item nebo Get-ChildItem, položky se nezobrazí, protože se jedná o vlastnosti klíče, ne položky nebo podřízené položky.

Třetí příkaz změní hodnotu NoOfEmployees položku 824.

Pomocí rutiny New-ItemProperty můžete také vytvořit položku registru a její hodnotu a pak pomocí Set-ItemProperty hodnotu změnit.

Další informace o jednotce HKLM: zadejte Get-Help Get-PSDrive. Další informace o tom, jak pomocí PowerShellu spravovat registr, zadejte Get-Help Registry.

Příklad 3: Úprava položky pomocí kanálu

V tomto příkladu se k získání souboru weekly.txt používá Get-ChildItem. Objekt souboru je předaný do Set-ItemProperty. Příkaz Set-ItemProperty používá parametry Name a Value k určení vlastnosti a její nové hodnoty.

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

Parametry

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

Poznámka

Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.

Typ:PSCredential
Position:Named
Default value:Current user
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Exclude

Určuje, jako pole řetězců, položku nebo položky, které tato rutina vylučuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné znaky. Parametr Exclude je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-Filter

Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystem je jediným nainstalovaným poskytovatelem PowerShellu, který podporuje použití filtrů. Syntaxi jazyka filtru FileSystem najdete v about_Wildcards. Filtry jsou efektivnější než jiné parametry, protože je poskytovatel použije, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltroval PowerShell.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-Force

Vynutí, aby rutina nastavila vlastnost u položek, ke kterým jinak uživatel nemá přístup. Implementace se liší podle poskytovatele. Další informace naleznete v tématu about_Providers.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Include

Určuje, jako pole řetězců, položku nebo položky, které tato rutina zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky. Parametr Include je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-InputObject

Určuje objekt, který má vlastnosti, které tato rutina změní. Zadejte proměnnou obsahující objekt nebo příkaz, který objekt získá.

Typ:PSObject
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-LiteralPath

Určuje cestu k jednomu nebo více umístěním. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.

Další informace najdete v tématu about_Quoting_Rules.

Typ:String[]
Aliasy:PSPath, LP
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje název vlastnosti.

Typ:String
Aliasy:PSProperty
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PassThru

Vrátí objekt, který představuje vlastnost položky. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu k položkám s vlastností, kterou chcete upravit. Jsou povoleny zástupné znaky.

Typ:String[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:True

-Type

Jedná se o dynamický parametr zpřístupněný poskytovatelem registru. Poskytovatel registru registru a tento parametr jsou k dispozici pouze ve Windows.

Určuje typ vlastnosti, kterou tato rutina přidá. Přijatelné hodnoty pro tento parametr jsou:

  • String: Určuje řetězec ukončený hodnotou null. Používá se pro REG_SZ hodnoty.
  • ExpandString: Určuje řetězec ukončený hodnotou null, který obsahuje nepřesazené odkazy na proměnné prostředí, které se rozbalí při načtení hodnoty. Používá se pro REG_EXPAND_SZ hodnoty.
  • Binary: Určuje binární data v libovolné podobě. Používá se pro REG_BINARY hodnoty.
  • DWord: Určuje 32bitové binární číslo. Používá se pro REG_DWORD hodnoty.
  • MultiString: Určuje pole řetězců ukončených hodnotou null ukončených dvěma znaky null. Používá se pro REG_MULTI_SZ hodnoty.
  • Qword: Určuje 64bitové binární číslo. Používá se pro REG_QWORD hodnoty.
  • Unknown: Označuje nepodporovaný datový typ registru, například hodnoty REG_RESOURCE_LIST.
Typ:RegistryValueKind
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Value

Určuje hodnotu vlastnosti.

Typ:Object
Position:2
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

Objekty můžete do této rutiny pipetovat.

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

PSCustomObject

Pokud použijete parametr PassThru, vrátí tato rutina objekt PSCustomObject představující položku, která byla změněna, a její novou hodnotu vlastnosti.

Poznámky

PowerShell obsahuje následující aliasy pro Set-ItemProperty:

  • Všechny platformy:
    • sp

Set-ItemProperty je navržená tak, aby fungovala s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider. Další informace naleznete v tématu about_Providers.