Set-Item
Zmienia wartość elementu na wartość określoną w poleceniu.
Składnia
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>]
Opis
Polecenie Set-Item
cmdlet zmienia wartość elementu, takiego jak zmienna lub klucz rejestru, na wartość określoną w poleceniu.
Przykłady
Przykład 1. Tworzenie aliasu
To polecenie tworzy 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 prompt.
To polecenie używa parametru dynamicznego Opcje .Set-Item
Parametr Opcje jest dostępny tylko wtedySet-Item
, gdy jest używany z aliasem lub dostawcą funkcji.
Set-Item -Path function:prompt -Options "AllScope,ReadOnly"
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Uwaga
Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby personifikować innego użytkownika lub podnieść poziom poświadczeń podczas uruchamiania tego polecenia cmdlet, użyj polecenia Invoke-Command.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | Current user |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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
. Dozwolone są symbole wieloznaczne. Parametr Exclude jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*
, gdzie symbol wieloznaczny określa zawartość C:\Windows
katalogu.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-Filter
Określa filtr, aby zakwalifikować parametr Ścieżka . Dostawca systemu plików jest jedynym zainstalowanym dostawcą programu PowerShell, który obsługuje korzystanie z filtrów. Składnię języka filtru Systemu plików 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.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-Force
Wymusza ustawienie elementów, których nie można zmienić, na przykład aliasu lub zmiennych 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ń.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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"
. Dozwolone są symbole wieloznaczne. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*
, gdzie symbol wieloznaczny określa zawartość C:\Windows
katalogu.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-LiteralPath
Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiterałuPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze znaki cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.
Typ: | String[] |
Aliasy: | PSPath, LP |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Options
Jest to parametr dynamiczny udostępniany przez dostawców aliasów i 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 ForceConstant
: nie można usunąć ani zmienić aliasuPrivate
: Alias jest dostępny tylko w bieżącym zakresieAllScope
: Alias jest kopiowany do wszystkich nowych utworzonych zakresówUnspecified
: Nie określono opcji
Typ: | ScopedItemOptions |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Przekazuje obiekt reprezentujący element do potoku. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa ścieżkę lokalizacji elementów. Dozwolone są symbole wieloznaczne.
Typ: | String[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-Type
Jest to parametr dynamiczny 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 o wartości null. Służy do REG_SZ wartości.ExpandString
: Określa ciąg zakończony wartości null, który zawiera niezrozsypane odwołania do zmiennych środowiskowych, które są rozwinięte po pobraniu wartości. Służy do REG_EXPAND_SZ wartości.Binary
: określa dane binarne w dowolnej formie. Służy do REG_BINARY wartości.DWord
: Określa 32-bitową liczbę binarną. Służy do REG_DWORD wartości.MultiString
: określa tablicę ciągów zakończonych wartością null zakończonych dwoma znakami null. Służy do REG_MULTI_SZ wartości.Qword
: określa 64-bitową liczbę binarną. Służy do REG_QWORD wartości.Unknown
: wskazuje nieobsługiwany typ danych rejestru, taki jak wartości REG_RESOURCE_LIST .
Typ: | RegistryValueKind |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Value
Określa nową wartość elementu.
Typ: | Object |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz przekazać do tego polecenia cmdlet obiekt reprezentujący nową wartość elementu.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt reprezentujący element.
Uwagi
Program PowerShell zawiera następujące aliasy dla programu 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żyjSet-Content
polecenia cmdlet .Na dyskach
HKLM:
rejestru iHKCU:
,Set-Item
zmienia dane w wartości (Wartość domyślna) klucza rejestru.- Aby utworzyć i zmienić nazwy kluczy rejestru, użyj polecenia
New-Item
cmdlet iRename-Item
. - Aby zmienić nazwy i dane w wartościach rejestru, użyj
New-ItemProperty
poleceń cmdlet ,Set-ItemProperty
iRename-ItemProperty
.
- Aby utworzyć i zmienić nazwy kluczy rejestru, użyj polecenia
Set-Item
jest przeznaczony 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.