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
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-Itemnie jest obsługiwany przez dostawcę systemu plików programu PowerShell. Aby zmienić wartości elementów w systemie plików, użyj polecenia cmdletSet-Content.Na dyskach rejestru
HKLM:iHKCU:,Set-Itemzmienia dane w wartości (Wartość domyślna) klucza rejestru.- Aby utworzyć i zmienić nazwy kluczy rejestru, użyj polecenia cmdlet
New-ItemiRename-Item. - Aby zmienić nazwy i dane w wartościach rejestru, użyj poleceń cmdlet
New-ItemProperty,Set-ItemPropertyiRename-ItemProperty.
- Aby utworzyć i zmienić nazwy kluczy rejestru, użyj polecenia cmdlet
Set-Itemjest przeznaczona do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpiszGet-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.