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. Můžete například použít Set-ItemProperty k nastavení hodnoty IsReadOnly vlastnost objektu souboru na $True.

Slouží Set-ItemProperty také k vytváření a změnám hodnot a dat registru. 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 "true". Používá cestu k zadání souboru, Název k zadání názvu vlastnosti a parametr Value pro zadání nové hodnoty.

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

Automatická $true proměnná představuje hodnotu TRUE. Další informace najdete 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 použít Set-ItemProperty k vytvoření nové položky registru a k přiřazení hodnoty k položce. Vytvoří položku NoOfEmployees v klíči ContosoCompany a HKLM\Software nastaví její 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 vytvář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á cestu k určení cesty HKLM: jednotky a Software\MyCompany klíče. Příkaz používá k zadání názvu položky a hodnoty hodnotu.

Druhý příkaz pomocí rutiny Get-ItemProperty zobrazí novou položku registru. Pokud používáte rutiny Get-Item , Get-ChildItem položky se nezobrazí, protože se jedná o vlastnosti klíče, nikoli položky nebo podřízené položky.

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

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

Další informace o jednotce HKLM: potřebujete napsat 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

Tento příklad používá Get-ChildItem k získání weekly.txt souboru. Objekt souboru je předaný na 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 zobrazí výzvu 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 úroveň přihlašovacích údajů 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 element nebo vzor cesty, například *.txt. Jsou povoleny zástupné znaky. Parametr Exclude je účinný pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah C:\Windows adresáře.

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, který má kvalifikovat parametr 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 najdete 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 element nebo vzor cesty, 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 C:\Windows adresáře.

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

Toto je dynamický parametr zpřístupněný poskytovatelem registru . Zprostředkovatel registru a tento parametr jsou k dispozici pouze ve Windows.

Určuje typ vlastnosti, kterou tato rutina přidá. Tento parametr přijímá tyto hodnoty:

  • 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 nerozbalené 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 REG_RESOURCE_LIST hodnoty.
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

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

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 fungoval s daty vystavenými jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider. Další informace najdete v tématu about_Providers.