Udostępnij za pośrednictwem


Set-ItemProperty

Tworzy lub zmienia wartość właściwości elementu.

Składnia

Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Opis

Polecenie Set-ItemProperty cmdlet zmienia wartość właściwości określonego elementu. Możesz użyć polecenia cmdlet , aby ustanowić lub zmienić właściwości elementów. Na przykład można użyć Set-ItemProperty polecenia , aby ustawić wartość właściwości IsReadOnly obiektu pliku na $True.

Służy również Set-ItemProperty do tworzenia i zmieniania wartości rejestru i danych. Można na przykład dodać nowy wpis rejestru do klucza i ustanowić lub zmienić jego wartość.

Przykłady

Przykład 1. Ustawianie właściwości pliku

To polecenie ustawia wartość właściwości IsReadOnly pliku "final.doc" na wartość "true". Używa ścieżki do określenia pliku, Nazwa , aby określić nazwę właściwości, a parametr Value w celu określenia nowej wartości.

Plik jest obiektem System.IO.FileInfo, a IsReadOnly jest tylko jedną z jego właściwości. Aby wyświetlić wszystkie właściwości, wpisz Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

Zmienna automatyczna $true reprezentuje wartość "TRUE". Aby uzyskać więcej informacji, zobacz about_Automatic_Variables.

Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true

Przykład 2. Tworzenie wpisu i wartości rejestru

W tym przykładzie pokazano, jak utworzyć Set-ItemProperty nowy wpis rejestru i przypisać wartość do wpisu. Tworzy wpis "NoOfEmployees" w kluczu "ContosoCompany" w HKLM\Software kluczu i ustawia jego wartość na 823.

Ponieważ wpisy rejestru są uważane za właściwości kluczy rejestru, które są elementami, służy Set-ItemProperty do tworzenia wpisów rejestru oraz do ustanawiania i zmieniania ich wartości.

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

Pierwsze polecenie tworzy wpis rejestru. Używa ścieżki do określenia ścieżki HKLM: dysku i Software\MyCompany klucza. Polecenie używa pola Nazwa , aby określić nazwę wpisu i wartość , aby określić wartość.

Drugie polecenie używa Get-ItemProperty polecenia cmdlet , aby wyświetlić nowy wpis rejestru. Jeśli używasz Get-Item poleceń cmdlet lub Get-ChildItem , wpisy nie są wyświetlane, ponieważ są właściwościami klucza, a nie elementów podrzędnych.

Trzecie polecenie zmienia wartość wpisu NoOfEmployees na 824.

Możesz również użyć New-ItemProperty polecenia cmdlet , aby utworzyć wpis rejestru i jego wartość, a następnie użyć Set-ItemProperty polecenia , aby zmienić wartość.

Aby uzyskać więcej informacji na temat HKLM: dysku, wpisz Get-Help Get-PSDrive. Aby uzyskać więcej informacji o sposobie zarządzania rejestrem przy użyciu programu PowerShell, wpisz Get-Help Registry.

Przykład 3. Modyfikowanie elementu przy użyciu potoku

W tym przykładzie użyto Get-ChildItem weekly.txt polecenia w celu pobrania pliku. Obiekt pliku jest potokowany do Set-ItemProperty. Polecenie Set-ItemProperty używa parametrów Nazwa i Wartość , aby określić właściwość i jej nową wartość.

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

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 właściwości dla elementów, do których użytkownik nie może uzyskać dostępu. Implementacja różni się w zależności od dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers.

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

-InputObject

Określa obiekt, który ma właściwości, które zmienia to polecenie cmdlet. Wprowadź zmienną zawierającą obiekt lub polecenie, które pobiera obiekt.

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-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
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Określa nazwę właściwości.

Typ:String
Aliasy:PSProperty
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PassThru

Zwraca obiekt reprezentujący właściwość elementu. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę elementów z właściwością do zmodyfikowania. 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

-UseTransaction

Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Value

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

Typ:Object
Position:2
Domyślna wartość:None
Wymagane:True
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

PSObject

Do tego polecenia cmdlet można przekazać obiekty potokowe.

Dane wyjściowe

None

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

PSCustomObject

Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt PSCustomObject reprezentujący element, który został zmieniony i jego nową wartość właściwości.

Uwagi

Program Windows PowerShell zawiera następujące aliasy dla programu Set-ItemProperty:

  • sp

Set-ItemProperty jest przeznaczony 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.