about_Properties
Rövid leírás
Az objektumtulajdonságok PowerShellben való használatát ismerteti.
Hosszú leírás
A PowerShell strukturált információgyűjteményeket, úgynevezett objektumokat használ az adattárak elemeinek vagy a számítógép állapotának megjelenítéséhez. Általában a Microsoft .NET-keretrendszer részét képező objektumokkal dolgozik, de egyéni objektumokat is létrehozhat a PowerShellben.
Az elem és az objektum közötti társítás nagyon szoros. Amikor módosít egy objektumot, általában az általa képviselt elemet módosítja. Ha például a PowerShellben kap egy fájlt, nem kapja meg a tényleges fájlt. Ehelyett egy FileInfo objektumot kap, amely a fájlt jelöli. A FileInfo objektum módosításakor a fájl is megváltozik.
A legtöbb objektum rendelkezik tulajdonságokkal. A tulajdonságok az objektumokhoz társított adatok. A különböző típusú objektumok különböző tulajdonságokkal rendelkeznek. Egy fájlokat képviselő FileInfo-objektum például egy IsReadOnly tulajdonsággal rendelkezik, amely tartalmazza$True
, ha a fájl írásvédett attribútummal rendelkezik, és $False
ha nem. A fájlrendszerkönyvtárat jelképező DirectoryInfo objektum szülőtulajdonságával rendelkezik, amely a szülőkönyvtár elérési útját tartalmazza.
Objektumtulajdonságok
Egy objektum tulajdonságainak lekéréséhez használja a Get-Member
parancsmagot. Például egy FileInfo-objektum tulajdonságainak lekéréséhez használja a Get-ChildItem
parancsmagot a fájlokat képviselő FileInfo objektum lekéréséhez. Ezután használjon egy folyamatkezelőt () a FileInfo objektum elküldéséhezGet-Member
.|
A következő parancs lekéri a pwsh.exe
fájlt, és elküldi a fájlnak Get-Member
. Az $PSHOME
automatikus változó tartalmazza a PowerShell telepítési könyvtárának elérési útját.
Get-ChildItem $PSHOME\pwsh.exe | Get-Member
A parancs kimenete felsorolja a FileInfo objektum tagjait. A tagok tulajdonságokat és metódusokat is tartalmaznak. Amikor a PowerShellben dolgozik, hozzáférhet az objektumok összes tagához.
Ha csak egy objektum tulajdonságait szeretné lekérni, és nem a metódusokat, használja a Get-Member
parancsmag MemberType paraméterét Property
az alábbi példában látható módon.
Get-ChildItem $PSHOME\pwsh.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;}
Miután megtalálta a tulajdonságokat, használhatja őket a PowerShell-parancsokban.
Tulajdonságértékek
Bár egy adott típusú objektum minden objektuma ugyanazokkal a tulajdonságokkal rendelkezik, ezeknek a tulajdonságoknak az értékei az adott objektumot írják le. Például minden FileInfo-objektum rendelkezik CreationTime tulajdonsággal, de ennek a tulajdonságnak az értéke minden fájlban eltér.
Az objektumok tulajdonságainak lekérésének leggyakoribb módja a tagelérési operátor (.
). Írja be az objektumra mutató hivatkozást, például az objektumot tartalmazó változót vagy az objektumot lekérő parancsot. Ezután írja be az operátort (.
) és a tulajdonság nevét.
Az alábbi parancs például a fájl CreationTime tulajdonságának pwsh.exe
értékét jeleníti meg. A Get-ChildItem
parancs egy FileInfo objektumot ad vissza, amely a pwsh.exe file
. A parancs zárójelek közé van állítva, hogy minden tulajdonság elérése előtt végrehajtsa a parancsot.
(Get-ChildItem $PSHOME\pwsh.exe).CreationTime
Tuesday, June 14, 2022 5:17:14 PM
Egy objektumot egy változóba is menthet, majd lekérheti annak tulajdonságait a taghozzáférési (.
) metódussal, ahogyan az alábbi példában látható:
$a = Get-ChildItem $PSHOME\pwsh.exe
$a.CreationTime
Tuesday, June 14, 2022 5:17:14 PM
Az objektumok tulajdonságértékeit a parancsmagok és Format-List
a Select-Object
parancsmagok használatával is megjelenítheti. Select-Object
és Format-List
mindegyik tulajdonságparaméterrel rendelkezik. A Tulajdonság paraméter használatával megadhat egy vagy több tulajdonságot és azok értékeit. Vagy használhatja a helyettesítő karaktert (*
) az összes tulajdonság megjelenítéséhez.
Az alábbi parancs például a pwsh.exe fájl összes tulajdonságának értékét jeleníti meg.
Get-ChildItem $PSHOME\pwsh.exe | Format-List -Property *
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Program Files\PowerShell\7-preview\pwsh.exe
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\Program Files\PowerShell\7-preview
PSChildName : pwsh.exe
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
Mode : -a---
ModeWithoutHardLink : -a---
VersionInfo : File: C:\Program Files\PowerShell\7-preview\pwsh.exe
InternalName: pwsh.dll
OriginalFilename: pwsh.dll
FileVersion: 7.3.0.5
FileDescription: pwsh
Product: PowerShell
ProductVersion: 7.3.0-preview.5 SHA: cfc237ac85cf24fa760923ace568201c8f3256aa
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language: Language Neutral
BaseName : pwsh
ResolvedTarget : C:\Program Files\PowerShell\7-preview\pwsh.exe
Target :
LinkType :
Length : 285088
DirectoryName : C:\Program Files\PowerShell\7-preview
Directory : C:\Program Files\PowerShell\7-preview
IsReadOnly : False
FullName : C:\Program Files\PowerShell\7-preview\pwsh.exe
Extension : .exe
Name : pwsh.exe
Exists : True
CreationTime : 6/14/2022 5:17:14 PM
CreationTimeUtc : 6/14/2022 10:17:14 PM
LastAccessTime : 7/18/2022 11:32:06 AM
LastAccessTimeUtc : 7/18/2022 4:32:06 PM
LastWriteTime : 6/14/2022 5:17:14 PM
LastWriteTimeUtc : 6/14/2022 10:17:14 PM
LinkTarget :
Attributes : Archive
Statikus tulajdonságok
A .NET-osztályok statikus tulajdonságait a PowerShellben használhatja. A statikus tulajdonságok osztálytulajdonságok, ellentétben a standard tulajdonságokkal, amelyek egy objektum tulajdonságai.
Egy osztály statikus tulajdonságainak lekéréséhez használja a Get-Member
parancsmag Statikus paraméterét. Az alábbi parancs például lekéri az osztály statikus tulajdonságait System.DateTime
.
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;}
Statikus tulajdonság értékének lekéréséhez használja az alábbi szintaxist.
[<ClassName>]::<Property>
Az alábbi parancs például az osztály UtcNow statikus tulajdonságának System.DateTime
értékét kapja meg.
[System.DateTime]::UtcNow
Taghozzáférés számbavétele
A PowerShell 3.0-tól kezdve, amikor a taghozzáférési operátor (.
) használatával egy olyan tulajdonsághoz fér hozzá, amely nem szerepel egy listagyűjteményben, a PowerShell automatikusan számba veszi a gyűjtemény elemeit, és visszaadja az egyes elemek tulajdonságának értékét. További információ: about_Member-Access_Enumeration.
Példák
Ez a parancs minden visszaadott szolgáltatás Get-Service
DisplayName tulajdonságának értékét adja vissza.
(Get-Service).DisplayName
Application Experience
Application Layer Gateway Service
Windows All-User Install Agent
Application Identity
Application Information
...
Minden gyűjtemény rendelkezik egy Darabszám tulajdonságmal, amely a gyűjteményben lévő objektumok számát adja vissza.
(Get-Service).Count
176
A PowerShell 3.0-tól kezdve lekérheti a nem gyűjteménynek számító önálló objektumok Darabszám vagy Hossz tulajdonságát.
(Get-Service Audiosrv).Count
1
Egyes objektumok azonban hossztulajdonságokkal rendelkeznek. Egy sztring hossza például a sztringben szereplő karakterek száma. A Count tulajdonság az objektum példányainak száma.
PS> $str = 'string'
PS> $str.Length
6
PS> $str.Count
1
Ha egy tulajdonság az egyes objektumokon és a gyűjteményen található, a rendszer csak a gyűjtemény tulajdonságát adja vissza.
$collection = @(
[pscustomobject]@{length = "foo"}
[pscustomobject]@{length = "bar"}
)
# PowerShell returns the collection's Length.
$collection.length
2
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: