PowerShell'deki Nesneden Özelliği Kaldırma [2 Yol]


PSObject.Properties.Remove() Yöntemini Kullanma

PowerShell'deki bir nesneden bir özelliği silmek için,

  • Bir nesne oluşturmak için New-Object cmdlet'ini kullanın.
  • Özelliğin adını string parametresi olarak sağlayarak bir nesneden belirli bir özelliği kaldırmak için PSObject.Properties.Remove() yöntemini kullanın.

PSObject.Properties.Remove() Yöntemini kullanın:

$person_obj = New-Object -Typename PSCustomObject -Property @{
    Name = 'Bob'
    Age = '25'
    Citizenship = 'U.S'
}
Write-Host "Before Removal: $person_obj"
$person_obj.PSObject.Properties.Remove('Age')
Write-Host "After Removal: $person_obj"

çıktı:

Before Removal: @{Citizenship=U.S; Name=Bob; Age=25}
After Removal: @{Citizenship=U.S; Name=Bob}

Yukarıdaki kodda, Ad, Yaş ve Vatandaşlık özelliklerine sahip $person_obj adlı bir nesne oluşturduk. . Daha sonra Age özelliğini kaldırmak için Remove() yöntemini kullandık. $person_obj'ın yalnızca iki özelliğe sahip olduğunu görebilirsiniz: Vatandaşlık ve Ad. Bu komutta, Age özelliğini $person_obj nesnesinden kaldırmak için PSObject.Properties.Remove() yöntemini kullandık.

Not: PSObject.Properties.Remove() yöntemi ayrıca özelliğin adını bir string parametresi olarak alır, dolayısıyla özelliğin adını iletmeniz gerekir. Kaldırmak istediğiniz mülk.

-ExcludeProperty Parametresini Kullanma

Belirtilen özelliği PowerShell'deki bir nesneden silmek için,

  • Bir nesne oluşturmak için New-Object cmdlet'ini kullanın
  • Belirtilen özelliği nesneden kaldırmak için Select-Object cmdlet'ini -ExcludeProperty parametresiyle birlikte kullanın.

-ExcludeProperty Parametresini kullanın:

$car_obj = New-Object -Typename PSCustomObject -Property @{
    Name = 'BMW'
    Color = 'White'
    Type = 'Manual'
}
Write-Host "Before Removal: $car_obj"
$car_obj = $car_obj | Select-Object * -ExcludeProperty Type
Write-Host "After Removal: $car_obj"

çıktı:

Before Removal: @{Color=White; Name=BMW; Type=Manual}
After Removal: @{Color=White; Name=BMW}

Yukarıdaki kodda, New-Object cmdlet'i, Renk, Ad olmak üzere üç özelliğe sahip car_obj adlı bir PSCustomObject oluşturmak için kullanıldı. > ve Tür. Burada -Property parametresi, araba nesnesinin özelliklerini anahtar-değer çifti formatında ayarlamak için kullanıldı.

Bu örnekte, car_obj nesnesinin belirtilen özelliğini seçmek için Select-Object cmdlet'i kullanıldı. Burada Type özelliğini $car_obj'dan kaldırmak için -ExcludeProperty parametresi kullanıldı.

PowerShell'de -ExcludeProperty parametresi, özelliğin adını string parametresi olarak alır, dolayısıyla kaldırmak istediğiniz özelliğin adını iletmeniz gerekir.

Not: Bu kod snippet'inde *, tümünü temsil etmektedir. Bu, kaldırmak istediğimiz Type özelliği hariç, car_obj nesnesinin tüm özelliklerini seçmek için yukarıdaki komutun kullanıldığı anlamına gelir.

Kaldırmak istediğiniz tüm özelliklerin adlarını -ExcludeProperty parametresinin değeri olarak belirterek birden çok özelliği de kaldırabilirsiniz. Aşağıda örnekte gösterildiği gibi:

-ExcludeProperty Parametresini kullanın:

$car_obj = New-Object -Typename PSCustomObject -Property @{
    Name = 'BMW'
    Color = 'White'
    Type = 'Manual'
}
$car_obj | Select-Object * -ExcludeProperty Name, Color 

çıktı:

Type
----
Manual

Bu örnekte, Ad ve Renk özellikleri -ExcludeProperty parametresi kullanılarak $car_obj nesnesinden kaldırıldı.

Bir nesneden birden fazla özelliği kaldırmak için -ExcludeProperty parametresini kullanmanın başka bir örneğini görelim. Bir veya daha fazla özellik adını argüman olarak alır ve bunları nesneden kaldırır.

-ExcludeProperty Parametresini kullanın:

$my_obj =  New-Object -Typename PSCustomObject -Property  @{
    'property1' = 'value1'
    'property2' = 'value2'
    'property3' = 'value3'
}
$my_obj | Select-Object * -ExcludeProperty property1, property3

çıktı:

property2
----------
value2

Bu örnekte, property1, property2 ve property3 özelliklerini içeren bir $my_obj nesnesi oluşturduk. Daha sonra property1 ve property3'u kaldırmak için -ExcludeProperty parametresi kullanıldı. Ve nesne artık yalnızca value2 değerine sahip property2 ile kaldı.

Not: -ExcludeProperty ile Select-Object, bir özelliği nesneler koleksiyonundan kaldırmak için uygundur. Tek bir nesneden bir özelliği silmek için PSObject.Properties.Remove() yöntemi daha etkili olabilir.

Hepsi PowerShell'deki Object'ten özelliğin nasıl kaldırılacağıyla ilgili.

İlgili makaleler