РАЗДЕЛ 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