Udostępnij za pomocą


Set-Item

Zmienia wartość elementu na wartość określoną w poleceniu.

Składnia

Path (Default) - All providers

Set-Item
    [-Path] <String[]>
    [[-Value] <Object>]
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath - All providers

Set-Item
    [[-Value] <Object>]
    -LiteralPath <String[]>
    [-Force]
    [-PassThru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Path (Default) - Alias and Function providers

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

LiteralPath - Alias and Function providers

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

Path (Default) - Registry provider

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

LiteralPath - Registry provider

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

Opis

Polecenie cmdlet Set-Item zmienia wartość elementu, takiego jak zmienna lub klucz rejestru, na wartość określoną w poleceniu.

Przykłady

Przykład 1. Tworzenie aliasu

To polecenie ustawia alias np dla Notatnika.

Set-Item -Path Alias:np -Value "C:\windows\notepad.exe"

Przykład 2. Zmiana wartości zmiennej środowiskowej

To polecenie zmienia wartość zmiennej środowiskowej UserRole na Administrator.

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

Przykład 3. Modyfikowanie funkcji monitu

To polecenie zmienia funkcję wiersza polecenia, tak aby wyświetlała czas przed ścieżką.

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

Przykład 4. Ustawianie opcji dla funkcji monitu

To polecenie ustawia opcje AllScope i ReadOnly dla funkcji monitu. To polecenie używa dynamicznego parametru Options z Set-Item. Parametr Opcje jest dostępny w Set-Item tylko wtedy, gdy używasz go z dostawcą aliasu lub dostawcą funkcji .

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

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Credential

Uwaga / Notatka

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby podszyć się pod innego użytkownika lub podnieść swoje uprawnienia podczas uruchamiania tego cmdletu, użyj Invoke-Command.

Właściwości parametru

Typ:PSCredential
Domyślna wartość:Current user
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Exclude

Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet wyklucza w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak *.txt. Symbole wieloznaczne są dozwolone. Parametr Exclude jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie symbol wieloznaczny określa zawartość katalogu C:\Windows.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Filter

Określa filtr w celu kwalifikacji parametru ścieżki. Dostawca systemu plików jest jedynym zainstalowanym dostawcą programu PowerShell obsługującym korzystanie z filtrów. Składnię języka filtru FileSystem można znaleźć w about_Wildcards. Filtry są wydajniejsze niż inne parametry, ponieważ dostawca stosuje je, gdy polecenie cmdlet pobiera obiekty zamiast filtrować obiekty po ich pobraniu.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

Wymusza ustawienie elementów, których nie można inaczej zmienić, takich jak aliasy lub zmienne tylko do odczytu. Polecenie cmdlet nie może zmienić stałych aliasów ani zmiennych. Implementacja różni się od dostawcy do dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers. Nawet przy użyciu parametru Force polecenie cmdlet nie może zastąpić ograniczeń zabezpieczeń.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Include

Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet zawiera w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Symbole wieloznaczne są dozwolone. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie symbol wieloznaczny określa zawartość katalogu C:\Windows.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-LiteralPath

Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:PSPath, LP

Zestawy parametrów

LiteralPath
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Options

Jest to parametr dynamiczny udostępniany przez dostawców Alias oraz funkcji . Aby uzyskać więcej informacji, zobacz about_Alias_Provider i about_Function_Provider.

Określa wartość właściwości Options aliasu.

Prawidłowe wartości to:

  • None: alias nie ma ograniczeń (wartość domyślna)
  • ReadOnly: alias można usunąć, ale nie można go zmienić bez użycia parametru Force
  • Constant: nie można usunąć ani zmienić aliasu
  • Private: alias jest dostępny tylko w bieżącym zakresie
  • AllScope: alias jest kopiowany do wszystkich nowych utworzonych zakresów
  • Unspecified: nie określono opcji

Właściwości parametru

Typ:ScopedItemOptions
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-PassThru

Przekazuje obiekt, który reprezentuje element, do potoku. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Path

Określa ścieżkę lokalizacji elementów. Symbole wieloznaczne są dozwolone.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

Path
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Type

Jest to dynamiczny parametr udostępniany przez dostawcę rejestru . Dostawca rejestru i ten parametr są dostępne tylko w systemie Windows.

Określa typ właściwości, którą dodaje to polecenie cmdlet. Dopuszczalne wartości tego parametru to:

  • String: określa ciąg zakończony wartością null. Służy do wartości REG_SZ .
  • ExpandString: Określa ciąg zakończony znakiem null, który zawiera nierozwinięte odwołania do zmiennych środowiskowych, które są rozwijane po pobraniu wartości. Służy do wartości REG_EXPAND_SZ.
  • Binary: określa dane binarne w dowolnej formie. Służy do REG_BINARY wartości.
  • DWord: określa 32-bitową liczbę binarną. Stosowane do REG_DWORD wartości.
  • MultiString: określa tablicę ciągów zakończonych wartościami null zakończonych dwoma znakami null. Służy do wartości REG_MULTI_SZ.
  • Qword: określa 64-bitową liczbę binarną. Służy do wartości REG_QWORD.
  • Unknown: wskazuje nieobsługiwany typ danych rejestru, taki jak wartości REG_RESOURCE_LIST.

Właściwości parametru

Typ:RegistryValueKind
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Value

Określa nową wartość elementu.

Właściwości parametru

Typ:Object
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:1
Obowiązkowy:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

Object

Możesz przesłać do tego polecenia cmdlet obiekt, który reprezentuje nową wartość elementu.

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Object

Jeśli używasz parametru PassThru, to polecenie cmdlet zwraca obiekt reprezentujący element.

Uwagi

Program PowerShell zawiera następujące aliasy dla Set-Item:

  • Wszystkie platformy:

    • si
  • Set-Item nie jest obsługiwany przez dostawcę systemu plików programu PowerShell. Aby zmienić wartości elementów w systemie plików, użyj polecenia cmdlet Set-Content.

  • Na dyskach rejestru HKLM: i HKCU:, Set-Item zmienia dane w wartości (Wartość domyślna) klucza rejestru.

    • Aby utworzyć i zmienić nazwy kluczy rejestru, użyj polecenia cmdlet New-Item i Rename-Item.
    • Aby zmienić nazwy i dane w wartościach rejestru, użyj poleceń cmdlet New-ItemProperty, Set-ItemPropertyi Rename-ItemProperty.
  • Set-Item jest przeznaczona do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.