РАЗДЕЛ
about_Properties
КРАТКОЕ ОПИСАНИЕ
Содержит описание использования свойств объектов в Windows
PowerShell.
ПОЛНОЕ ОПИСАНИЕ
В Windows PowerShell используются структурированные наборы
данных, называемые объектами, для представления элементов в
хранилищах данных или состояния компьютера.
Чаще всего вы работаете с объектами, которые являются частью
инфраструктуры Microsoft .NET Framework, но также можете
создавать пользовательские объекты в Windows PowerShell.
Связь между элементом и его объектом очень тесная. При изменении
объекта изменяется и представляемый им элемент. Например, получая
файл в Windows PowerShell, вы получаете не сам файл.
Вы получаете объект FileInfo, который представляет файл. Когда
изменяется объект FileInfo, файл также изменяется.
Большинство объектов имеет свойства. Свойства - это данные,
связанные с объектом. Эти данные описывают объект. Например,
объект FileInfo имеет свойство Length, описывающее размер файла,
представленного объектом.
Свойства объектов
Чтобы вывести список свойств объекта, используйте командлет
Get-Member. Например, чтобы получить список свойств объекта
FileInfo, используйте командлет Get-ChildItem для получения
объекта FileInfo, представляющего файл. Затем с помощью
оператора конвейера (|) передайте объект FileInfo командлету
Get-Member. Следующая команда получает файл PowerShell.exe и
отправляет его командлету Get-Member. Автоматическая переменная
$Pshome содержит путь к каталогу установки Windows PowerShell.
get-childitem $pshome\powershell.exe | get-member
В выходных данных команды содержатся элементы объекта FileInfo.
Элементы включают как свойства, так и методы. Работая в Windows
PowerShell, вы имеете доступ ко всем элементам объектов.
Чтобы вывести только свойства объекта, но не методы, используйте
параметр MemberType командлета Get-Member со значением
"property", как показано в следующем примере.
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;}
Узнав о свойствах, вы можете применить их в командах Windows
PowerShell.
Значения свойств
Все объекты определенного типа имеют одинаковые свойства, но
значения свойств описывают конкретный объект. Например, каждый
объект FileInfo имеет свойство CreationTime, но значение этого
свойства различно для каждого файла.
Самый простой способ получить значения свойств объекта -
использовать метод точки. Укажите объект. Например, введите
переменную, содержащую объект, или команду, которая получает
этот объект. Затем введите точку (.) и имя свойства.
Например, следующая команда отобразит значение свойства
CreationTime файла PowerShell.exe. Команда Get-ChildItem
возвращает объект FileInfo, представляющий файл PowerShell.exe.
Команда заключена в скобки, чтобы гарантировать ее выполнение до
того, как будет получен доступ к какому-либо свойству. За
командой Get-ChildItem следует точка и имя свойства CreationTime:
C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
Вторник, 18 марта 2008 г., 0:07:52
Также можно сохранить объект в переменной и затем извлечь его
свойства при помощи метода точки, как показано в следующем примере:
C:\PS> $a = Get-ChildItem $pshome\powershell.exe
C:\PS> $a.CreationTime
Вторник, 18 марта 2008 г., 0:07:52
Также можно использовать командлеты Select-Object и Format-List
для отображения значений свойств объекта. Командлеты
Select-Object и Format-List оба имеют параметр Property. При
помощи параметра Property можно задать одно или более свойств и
их значения. Либо можно использовать подстановочный знак (*) для
обозначения всех свойств.
Например, следующая команда отобразит значения всех свойств
файла PowerShell.exe.
C:\PS> 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
VersionInfo : File: C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
InternalName: POWERSHELL
OriginalFilename: PowerShell.EXE.MUI
File Version: 6.1.6570.1 (fbl_srv_powershell(nigels).070711-0102)
FileDescription: PowerShell.EXE
Product: Microsoft® Windows® Operating System
ProductVersion: 6.1.6570.1
Debug: False
Patched: False
PreRelease: False
PrivateBuild: True
SpecialBuild: False
Language: English (United States)
BaseName : powershell
Mode : -a---
Name : powershell.exe
Length : 160256
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 : 3/18/2008 12:07:52 AM
CreationTimeUtc : 3/18/2008 7:07:52 AM
LastAccessTime : 3/19/2008 8:13:58 AM
LastAccessTimeUtc : 3/19/2008 3:13:58 PM
LastWriteTime : 3/18/2008 12:07:52 AM
LastWriteTimeUtc : 3/18/2008 7:07:52 AM
Attributes : Archive
СМ. ТАКЖЕ
about_Objects
Get-Member
Select-Object
Format-List