Udostępnij przez


Set-ItemProperty

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

Składnia

propertyValuePathSet (Default) - All providers

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

propertyPSObjectPathSet - All providers

Set-ItemProperty
    [-Path] <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValueLiteralPathSet - All providers

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

propertyPSObjectLiteralPathSet - All providers

Set-ItemProperty
    -LiteralPath <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValuePathSet (Default) - Registry provider

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

propertyPSObjectPathSet - Registry provider

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

propertyValueLiteralPathSet - Registry provider

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

propertyPSObjectLiteralPathSet - Registry provider

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

Opis

Polecenie cmdlet Set-ItemProperty 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, aby ustawić wartość właściwości IsReadOnly obiektu pliku na $true.

Można również użyć 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 , aby określić plik, Nazwa określić nazwę właściwości, a parametr Value określić nową wartość.

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 za pomocą Set-ItemProperty utworzyć nowy wpis rejestru i przypisać wartość do wpisu. Tworzy wpis "NoOfEmployees" w kluczu "ContosoCompany" w kluczu HKLM\Software i ustawia jego wartość na 823.

Ponieważ wpisy rejestru są uważane za właściwości kluczy rejestru, które są elementami, należy użyć Set-ItemProperty do utworzenia wpisów rejestru i ustanowienia i zmiany 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, aby określić ścieżkę dysku HKLM: i klucz Software\MyCompany. Polecenie używa Nazwa, aby określić nazwę wpisu i wartość, aby określić wartość.

Drugie polecenie używa polecenia cmdlet Get-ItemProperty, aby wyświetlić nowy wpis rejestru. Jeśli używasz poleceń cmdlet Get-Item 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ść NoOfEmployees wpis 824.

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

Aby uzyskać więcej informacji na temat dysku HKLM:, 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 do pobrania pliku weekly.txt. Obiekt pliku jest potokowany do Set-ItemProperty. Polecenie Set-ItemProperty używa parametrów Name i Value w celu określenia właściwości i jej nowej wartości.

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

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 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.

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

-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.

Właściwości parametru

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

Zestawy parametrów

propertyPSObjectPathSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
propertyPSObjectLiteralPathSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
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

propertyValueLiteralPathSet
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
propertyPSObjectLiteralPathSet
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

-Name

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

Właściwości parametru

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

Zestawy parametrów

propertyValuePathSet
Position:1
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
propertyValueLiteralPathSet
Position:1
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

-PassThru

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

Właściwości parametru

Typ:SwitchParameter
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

-Path

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

propertyValuePathSet
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
propertyPSObjectPathSet
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 wartość właściwości.

Właściwości parametru

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

Zestawy parametrów

propertyValuePathSet
Position:2
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
propertyValueLiteralPathSet
Position:2
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

-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

PSObject

Do tego polecenia cmdlet można przekazywać obiekty.

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 PowerShell zawiera następujące aliasy dla Set-ItemProperty:

  • Wszystkie platformy:
    • sp

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