Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
PowerShell'de nesne özelliklerinin nasıl kullanılacağını açıklar.
Uzun açıklama
PowerShell, veri depolarındaki öğeleri veya bilgisayarın durumunu göstermek için nesneler olarak adlandırılan yapılandırılmış bilgi koleksiyonlarını kullanır. Genellikle, Microsoft .NET Framework'ün parçası olan nesnelerle çalışırsınız, ancak PowerShell'de özel nesneler de oluşturabilirsiniz.
Bir öğe ile nesnesi arasındaki ilişki çok yakın. Bir nesneyi değiştirdiğinizde, genellikle temsil ettiği öğeyi değiştirirsiniz. Örneğin, PowerShell'de bir dosya aldığınızda gerçek dosyayı alamazsınız. Bunun yerine, dosyayı temsil eden bir FileInfo nesnesi alırsınız. FileInfo nesnesini değiştirdiğinizde, dosya da değişir.
Çoğu nesnenin özellikleri vardır. Özellikler, bir nesneyle ilişkili verilerdir. Farklı nesne türleri farklı özelliklere sahiptir. Örneğin, bir dosyayı temsil eden FileInfo nesnesinin, dosyanın salt okunur özniteliğine sahip olup olmadığını ve yoksa içeren $true bir $false özelliği vardır. Bir dosya sistemi dizinini temsil eden DirectoryInfo nesnesinin üst dizinin yolunu içeren bir Parent özelliği vardır.
Nesne özellikleri
Bir nesnenin özelliklerini almak için cmdlet'ini Get-Member kullanın. Örneğin, bir FileInfo nesnesinin özelliklerini almak için cmdlet'ini Get-ChildItem kullanarak bir dosyayı temsil eden FileInfo nesnesini alın. Ardından FileInfo nesnesini |adresine göndermek için işlem hattı işlecini (Get-Member) kullanın. Aşağıdaki komut dosyayı alır powershell.exe ve adresine Get-Membergönderir. Otomatik $PSHOME değişken, PowerShell yükleme dizininin yolunu içerir.
Get-ChildItem $PSHOME\powershell.exe | Get-Member
Komutun çıktısı FileInfo nesnesinin üyelerini listeler. Üyeler hem özellikleri hem de yöntemleri içerir. PowerShell'de çalışırken, nesnelerin tüm üyelerine erişebilirsiniz.
Yöntemlerin değil, yalnızca bir nesnenin özelliklerini almak için, aşağıdaki örnekte gösterildiği gibi cmdlet'in MemberTypeGet-Member.
Get-ChildItem $PSHOME\powershell.exe | Get-Member -MemberType Property
TypeName: System.IO.FileInfo
Name MemberType Definition
---- ---------- ----------
Attributes Property System.IO.FileAttributes Attributes {get;set;}
CreationTime Property System.DateTime CreationTime {get;set;}
CreationTimeUtc Property System.DateTime CreationTimeUtc {get;set;}
Directory Property System.IO.DirectoryInfo Directory {get;}
DirectoryName Property System.String DirectoryName {get;}
Exists Property System.Boolean Exists {get;}
Extension Property System.String Extension {get;}
FullName Property System.String FullName {get;}
IsReadOnly Property System.Boolean IsReadOnly {get;set;}
LastAccessTime Property System.DateTime LastAccessTime {get;set;}
LastAccessTimeUtc Property System.DateTime LastAccessTimeUtc {get;set;}
LastWriteTime Property System.DateTime LastWriteTime {get;set;}
LastWriteTimeUtc Property System.DateTime LastWriteTimeUtc {get;set;}
Length Property System.Int64 Length {get;}
Name Property System.String Name {get;}
Özellikleri buldukktan sonra PowerShell komutlarınızda kullanabilirsiniz.
Mülk değerleri
Belirli bir türün her nesnesi aynı özelliklere sahip olsa da, bu özelliklerin değerleri belirli nesneyi açıklar. Örneğin, her FileInfo nesnesinin bir CreationTime özelliği vardır, ancak bu özelliğin değeri her dosya için farklılık gösterir.
Bir nesnenin özelliklerinin değerlerini almanın en yaygın yolu, üye erişim işlecini (. kullanmaktır). Nesneyi içeren bir değişken veya nesneyi alan bir komut gibi nesneye bir başvuru yazın. Ardından işlecini (.) ve ardından özellik adını yazın.
Örneğin, aşağıdaki komut dosyanın CreationTimegörüntüler. komutu, Get-ChildItem öğesini temsil eden bir powershell.exe file nesnesi döndürür. Komut, herhangi bir özelliğe erişilmeden önce yürütülmesini sağlamak için parantez içine alınır.
(Get-ChildItem $PSHOME\powershell.exe).CreationTime
Saturday, June 5, 2021 7:07:00 AM
Ayrıca, aşağıdaki örnekte gösterildiği gibi bir değişkene bir nesne kaydedebilir ve üye erişimi (.) yöntemini kullanarak özelliklerini alabilirsiniz:
$a = Get-ChildItem $PSHOME\powershell.exe
$a.CreationTime
Wednesday, January 24, 2024 1:18:29 AM
Bir nesnenin Select-Object özellik değerlerini görüntülemek için ve Format-List cmdlet'lerini de kullanabilirsiniz.
Select-Object ve Format-List her birinin bir Property parametresi vardır. Bir veya daha fazla özelliği ve bunların değerlerini belirtmek için Property parametresini kullanabilirsiniz. İsterseniz, tüm özellikleri temsil etmek için joker karakteri (*) de kullanabilirsiniz.
Örneğin, aşağıdaki komut dosyanın tüm özelliklerinin powershell.exe değerlerini görüntüler.
Get-ChildItem $PSHOME\powershell.exe | Format-List -Property *
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\Windows\System32\WindowsPowerShell\v1.0
PSChildName : powershell.exe
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
Mode : -a----
VersionInfo : File: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
InternalName: POWERSHELL
OriginalFilename: PowerShell.EXE.MUI
FileVersion: 10.0.22621.1 (WinBuild.160101.0800)
FileDescription: Windows PowerShell
Product: Microsoft® Windows® Operating System
ProductVersion: 10.0.22621.1
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language: English (United States)
BaseName : powershell
Target : {C:\Windows\WinSxS\amd64_microsoft-windows-powershell-exe_31bf3856ad364e35_10.0.22621.3085_none_492
e8ee57da24e0e\powershell.exe}
LinkType : HardLink
Name : powershell.exe
Length : 450560
DirectoryName : C:\Windows\System32\WindowsPowerShell\v1.0
Directory : C:\Windows\System32\WindowsPowerShell\v1.0
IsReadOnly : False
Exists : True
FullName : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Extension : .exe
CreationTime : 1/24/2024 1:18:29 AM
CreationTimeUtc : 1/24/2024 7:18:29 AM
LastAccessTime : 1/3/2025 1:36:20 PM
LastAccessTimeUtc : 1/3/2025 7:36:20 PM
LastWriteTime : 1/24/2024 1:18:29 AM
LastWriteTimeUtc : 1/24/2024 7:18:29 AM
Attributes : Archive
Statik özellikler
PowerShell'de .NET sınıflarının statik özelliklerini kullanabilirsiniz. Statik özellikler, bir nesne örneğinin özellikleri olan standart özelliklerden farklı olarak sınıfının özellikleridir.
Bir sınıfın statik özelliklerini almak için cmdlet'in Static. Örneğin, aşağıdaki komut sınıfın statik özelliklerini System.DateTime alır.
Get-Date | Get-Member -MemberType Property -Static
TypeName: System.DateTime
Name MemberType Definition
---- ---------- ----------
MaxValue Property static datetime MaxValue {get;}
MinValue Property static datetime MinValue {get;}
Now Property datetime Now {get;}
Today Property datetime Today {get;}
UtcNow Property datetime UtcNow {get;}
Statik özelliğin değerini almak için aşağıdaki söz dizimini kullanın.
[<ClassName>]::<Property>
Örneğin, aşağıdaki komut sınıfının UtcNowalır.
[System.DateTime]::UtcNow
Üye erişim sabit listesi
PowerShell 3.0'dan başlayarak, üye erişim işlecini (.) kullanarak var olmayan bir özelliğe eriştiğinizde, PowerShell koleksiyondaki öğeleri otomatik olarak numaralandırır ve her öğe için özelliğin değerini döndürür.
Bu komut, döndüren her hizmetin DisplayNamedöndürür.
(Get-Service).DisplayName
Application Experience
Application Layer Gateway Service
Windows All-User Install Agent
Application Identity
Application Information
...
PowerShell'deki çoğu koleksiyon, koleksiyondaki sayı öğelerini döndüren Count özelliğine sahiptir.
(Get-Service).Count
176
Tek tek nesnelerde ve koleksiyonda bir özellik varsa, yalnızca koleksiyonun özelliği döndürülür.
PS> $collection = @(
[pscustomobject]@{Length = "foo"}
[pscustomobject]@{Length = "bar"}
)
# PowerShell returns the collection's Length.
$collection.Length
2
# Get the Length property of each item in the collection.
PS> $collection.GetEnumerator().Length
foo
bar
Daha fazla bilgi için bkz . about_Member-Access_Enumeration.
Ayrıca bakınız
PowerShell