Set-ItemProperty (Microsoft.PowerShell.Management)


Set-ItemProperty

Modül:
Microsoft.PowerShell.Management

Bir öğenin özelliğinin değerini oluşturur veya değiştirir.

Sözdizimi

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

Tanım

Set-ItemProperty cmdlet'i belirtilen öğenin özelliğinin değerini değiştirir. Öğelerin özelliklerini oluşturmak veya değiştirmek için cmdlet'i kullanabilirsiniz. Örneğin, bir dosya nesnesinin IsReadOnly özelliğinin değerini $True olarak ayarlamak için Set-ItemProperty'i kullanabilirsiniz.

Kayıt defteri değerlerini ve verilerini oluşturmak ve değiştirmek için de Set-ItemProperty'i kullanırsınız. Örneğin, bir anahtara yeni bir kayıt defteri girdisi ekleyebilir ve onun değerini oluşturabilir veya değiştirebilirsiniz.

Örnekler

Örnek 1: Bir dosyanın özelliğini ayarlama

Bu komut, "final.doc" dosyasının IsReadOnly özelliğinin değerini "true" olarak ayarlar. Dosyayı belirtmek için Yol'u, özelliğin adını belirtmek için Ad'ı ve yeni değeri belirtmek için Değer parametresini kullanır.

Dosya bir System.IO.FileInfo nesnesidir ve IsReadOnly onun özelliklerinden yalnızca biridir. Tüm özellikleri görmek için Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Özelliği.

$true otomatik değişkeni "TRUE" değerini temsil eder. Daha fazla bilgi için bkz. about_Automatic_Variables.

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

Örnek 2: Kayıt defteri girdisi ve değeri oluşturma

Bu örnek, yeni bir kayıt defteri girdisi oluşturmak ve girdiye bir değer atamak için Set-ItemProperty'nin nasıl kullanılacağını gösterir. HKLM\Software anahtarındaki "ContosoCompany" anahtarında "NoOfEmployees" girişini oluşturur ve değerini 823 olarak ayarlar.

Kayıt defteri girdileri, öğeler olan kayıt defteri anahtarlarının özellikleri olarak kabul edildiğinden, kayıt defteri girdileri oluşturmak ve bunların değerlerini oluşturup değiştirmek için Set-ItemProperty'yi kullanırsınız.

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

İlk komut kayıt defteri girişini oluşturur. HKLM: sürücüsünün ve Software\MyCompany anahtarının yolunu belirtmek için Yol'u kullanır. Komut, giriş adını belirtmek için Ad'ı ve bir değer belirtmek için Değer'i kullanır.

İkinci komut, yeni kayıt defteri girdisini görmek için Get-ItemProperty cmdlet'ini kullanır. Get-Item veya Get-ChildItem cmdlet'lerini kullanırsanız girişler, öğeler veya alt öğeler değil, bir anahtarın özellikleri oldukları için görünmez.

Üçüncü komut, NoOfEmployees girişinin değerini 824 olarak değiştirir.

Kayıt defteri girdisini ve değerini oluşturmak için New-ItemProperty cmdlet'ini de kullanabilir ve ardından değeri değiştirmek için Set-ItemProperty komutunu kullanabilirsiniz.

HKLM: sürücüsü hakkında daha fazla bilgi için Get-Help Get-PSDrive yazın. Kayıt defterini yönetmek amacıyla PowerShell'in nasıl kullanılacağı hakkında daha fazla bilgi için Get-Help Registry yazın.

Örnek 3: İşlem hattını kullanarak bir öğeyi değiştirme

Bu örnekte weekly.txt dosyasını almak için Get-ChildItem kullanılır. Dosya nesnesi Set-ItemProperty'e aktarılır. Set-ItemProperty komutu, özelliği ve onun yeni değerini belirtmek için Ad ve Value parametrelerini kullanır.

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

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Tip :

SwitchParameter

Takma adlar:

cf

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Credential

Not

Bu parametre, PowerShell ile yüklenen hiçbir sağlayıcı tarafından desteklenmez. Başka bir kullanıcının kimliğine bürünmek veya bu cmdlet'i çalıştırırken kimlik bilgilerinizi yükseltmek için Invoke-Command'ı kullanın.

Tip :

PSC kimlik bilgisi

Konum:

Adlandırılmış

Varsayılan değer:

Geçerli kullanıcı

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Exclude

Bu cmdlet'in işlemde hariç tuttuğu bir öğeyi veya öğeleri dize dizisi olarak belirtir. Bu parametrenin değeri Yol parametresini nitelendirir. *.txt gibi bir yol öğesi veya modeli girin. Joker karakterlere izin verilir. Hariç Tut parametresi yalnızca komut, C:\Windows\* gibi bir öğenin içeriğini içerdiğinde etkilidir; burada joker karakter, C:\Windows dizini.

Tip :

String[]

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

True

-Filter

Yol parametresini nitelendirecek bir filtre belirtir. FileSystem sağlayıcısı, filtre kullanımını destekleyen tek yüklü PowerShell sağlayıcısıdır. FileSystem filtre dilinin söz dizimini about_Wildcards'da bulabilirsiniz. Filtreler diğer parametrelerden daha etkilidir çünkü sağlayıcı, PowerShell'in nesneleri alındıktan sonra filtrelemesini sağlamak yerine cmdlet nesneleri aldığında bunları uygular.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

True

-Force

Kullanıcı tarafından başka şekilde erişilemeyen öğeler üzerinde cmdlet'i bir özellik ayarlamaya zorlar. Uygulama sağlayıcıya göre değişir. Daha fazla bilgi için bkz. about_Providers.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Include

Bu cmdlet'in işleme dahil ettiği bir öğeyi veya öğeleri dize dizisi olarak belirtir. Bu parametrenin değeri Yol parametresini nitelendirir. "*.txt" gibi bir yol öğesi veya modeli girin. Joker karakterlere izin verilir. Dahil Et parametresi yalnızca komut, C:\Windows\* gibi bir öğenin içeriğini içerdiğinde etkilidir; burada joker karakter, C:\Windows dizini.

Tip :

String[]

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

True

-InputObject

Bu cmdlet'in değiştirdiği özelliklere sahip nesneyi belirtir. Nesneyi içeren bir değişken veya nesneyi alan bir komut girin.

Tip :

PSObject

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-LiteralPath

Bir veya daha fazla konuma giden yolu belirtir. LiteralPath değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmaz. Yol kaçış karakterleri içeriyorsa, onu tek tırnak işaretleri içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamamasını söyler.

Daha fazla bilgi için bkz. about_Quoting_Rules.

Tip :

String[]

Takma adlar:

PSPath, LP

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Name

Özelliğin adını belirtir.

Tip :

String

Takma adlar:

PSProperty

Konum:

1

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-PassThru

item özelliğini temsil eden bir nesne döndürür. Varsayılan olarak bu cmdlet herhangi bir çıktı oluşturmaz.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Path

Değiştirilecek özelliğe sahip öğelerin yolunu belirtir. Joker karakterlere izin verilir.

Tip :

String[]

Konum:

0

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

True

-Type

Bu, Kayıt Defteri sağlayıcısı tarafından kullanıma sunulan dinamik bir parametredir. Kayıt defteri sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

Bu cmdlet'in eklediği özelliğin türünü belirtir. Bu parametre için kabul edilebilir değerler şunlardır:

  • Dize: Boş karakterle sonlandırılmış bir dizeyi belirtir. REG_SZ değerleri için kullanılır.
  • ExpandString: Değer alındığında genişletilen ortam değişkenlerine genişletilmemiş başvurular içeren, boş karakterle sonlandırılmış bir dizeyi belirtir. REG_EXPAND_SZ değerleri için kullanılır.
  • İkili: Herhangi bir biçimdeki ikili verileri belirtir. REG_BINARY değerleri için kullanılır.
  • DWord: 32 bitlik ikili sayıyı belirtir. REG_DWORD değerleri için kullanılır.
  • MultiString: İki boş karakterle sonlandırılmış, boş sonlandırılmış dizelerden oluşan bir diziyi belirtir. REG_MULTI_SZ değerleri için kullanılır.
  • Qword: 64 bitlik ikili sayıyı belirtir. REG_QWORD değerleri için kullanılır.
  • Bilinmiyor: REG_RESOURCE_LIST değerleri gibi desteklenmeyen bir kayıt defteri veri türünü belirtir.
Tip :

Kayıt Defteri Değeri Türü

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Value

Özelliğin değerini belirtir.

Tip :

Nesne

Konum:

2

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

Tip :

SwitchParameter

Takma adlar:

wi

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

PSObject

Nesneleri bu cmdlet'e aktarabilirsiniz.

Çıkışlar

Yok

Varsayılan olarak bu cmdlet hiçbir çıktı döndürmez.

PSCustomObject

PassThru parametresini kullandığınızda, bu cmdlet, değiştirilen öğeyi ve onun yeni özellik değerini temsil eden bir PSCustomObject nesnesini döndürür.

Notlar

PowerShell, Set-ItemProperty için aşağıdaki takma adları içerir:

  • Tüm platformlar:

      sp

Set-ItemProperty, herhangi bir sağlayıcının açığa çıkardığı verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda mevcut olan sağlayıcıları listelemek için Get-PSProvider yazın. Daha fazla bilgi için bkz. about_Providers.

İlgili makaleler