Sdílet prostřednictvím


Set-Item

Změní hodnotu položky na hodnotu zadanou v příkazu.

Syntaxe

Set-Item
   [-Path] <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   -LiteralPath <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Description

Rutina Set-Item změní hodnotu položky, například proměnnou nebo klíč registru, na hodnotu zadanou v příkazu.

Příklady

Příklad 1: Vytvoření aliasu

Tento příkaz vytvoří alias np pro Poznámkový blok.

Set-Item -Path alias:np -Value "c:\windows\notepad.exe"

Příklad 2: Změna hodnoty proměnné prostředí

Tento příkaz změní hodnotu proměnné prostředí UserRole na Administrator.

Set-Item -Path env:UserRole -Value "Administrator"

Příklad 3: Úprava funkce výzvy

Tento příkaz změní funkci příkazového řádku tak, aby zobrazovala čas před cestou.

Set-Item -Path function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}

Příklad 4: Nastavení možností pro funkci výzvy

Tento příkaz nastaví možnosti AllScope a ReadOnly pro funkci příkazového řádku. Tento příkaz používá dynamický parametr Options parametru Set-Item. Parametr Options je k dispozici Set-Item pouze v případech, kdy ho použijete se zprostředkovatelem aliasu nebo funkce.

Set-Item -Path function:prompt -Options "AllScope,ReadOnly"

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í rutinu nastavit položky, které nelze jinak změnit, například alias jen pro čtení nebo proměnné. Rutina nemůže změnit konstantní aliasy ani proměnné. Implementace se liší od zprostředkovatele po zprostředkovatele. Další informace najdete v tématu about_Providers. I pomocí parametru Force nemůže rutina přepsat omezení zabezpečení.

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

-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

-Options

Jedná se o dynamický parametr, který zpřístupnil poskytovatelé aliasů a funkcí. Další informace najdete v tématu about_Alias_Provider a about_Function_Provider.

Určuje hodnotu vlastnosti Options aliasu.

Platné hodnoty jsou:

  • None: Alias nemá žádná omezení (výchozí hodnota)
  • ReadOnly: Alias lze odstranit, ale nejde ho změnit bez použití parametru Force .
  • Constant: Alias nejde odstranit ani změnit.
  • Private: Alias je k dispozici pouze v aktuálním oboru.
  • AllScope: Alias se zkopíruje do všech nově vytvořených oborů.
  • Unspecified: Možnost není zadána.
Typ:ScopedItemOptions
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PassThru

Předá objekt, který představuje položku do kanálu. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

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

-Path

Určuje cestu k umístění položek. 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 novou hodnotu položky.

Typ:Object
Position:1
Default value:None
Vyžadováno:False
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

Object

Objekt, který představuje novou hodnotu položky, můžete připojit k této rutině.

Výstupy

None

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

Object

Pokud použijete parametr PassThru , vrátí tato rutina objekt představující položku.

Poznámky

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

  • Všechny platformy:

    • si
  • Set-Item poskytovatel systému souborů PowerShellu nepodporuje. Pokud chcete změnit hodnoty položek v systému souborů, použijte rutinu Set-Content .

  • V jednotkách HKLM: registru a HKCU:Set-Item změní data v hodnotě (Výchozí) klíče registru.

    • Pokud chcete vytvořit a změnit názvy klíčů registru, použijte rutinu a Rename-Item rutinuNew-Item.
    • Pokud chcete změnit názvy a data v hodnotách registru, použijte rutiny New-ItemProperty, Set-ItemPropertya Rename-ItemProperty .
  • Set-Item 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.