Класс Win32_Directory
Класс WMIWin32_Directory представляет запись каталога в системе компьютера под управлением Windows. Каталог — это тип файла, который логически группировал файлы данных и предоставлял сведения о пути к сгруппированным файлам. Пример: C:\TEMP. Win32_Directory не включает каталоги сетевых дисков.
Следующий пример синтаксиса — упрощенный MOF-код, который включает все наследуемые свойства. Свойства перечислены в алфавитном порядке, а не в порядке MOF.
Синтаксис
[Dynamic, Provider("CIMWin32"), UUID("{8502C4C7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_Directory : CIM_Directory
{
string Caption;
string Description;
datetime InstallDate;
string Name;
string Status;
uint32 AccessMask;
boolean Archive;
boolean Compressed;
string CompressionMethod;
string CreationClassName;
datetime CreationDate;
string CSCreationClassName;
string CSName;
string Drive;
string EightDotThreeFileName;
boolean Encrypted;
string EncryptionMethod;
string Extension;
string FileName;
uint64 FileSize;
string FileType;
string FSCreationClassName;
string FSName;
boolean Hidden;
uint64 InUseCount;
datetime LastAccessed;
datetime LastModified;
string Path;
boolean Readable;
boolean System;
boolean Writeable;
};
Члены
Класс Win32_Directory имеет следующие типы членов:
Методы
Класс Win32_Directory содержит следующие методы.
Метод | Описание |
---|---|
ChangeSecurityPermissions | Метод класса, который изменяет разрешения безопасности для логического файла, указанного в пути к объекту. |
ChangeSecurityPermissionsEx | Метод класса, который изменяет разрешения безопасности для логического файла, указанного в пути к объекту. |
Сжать | Метод класса, который сжимает логический файл (или каталог), указанный в пути к объекту. |
CompressEx | Метод класса, который сжимает логический файл (или каталог), указанный в пути к объекту. |
Копировать | Метод класса, копирующий логический файл или каталог, указанный в пути к объекту, в расположение, указанное входным параметром. |
CopyEx | Метод класса, копирующий логический файл или каталог, указанный в пути к объекту, в расположение, указанное параметром FileName . |
Удалить | Метод класса, который удаляет логический файл (или каталог), указанный в пути к объекту. |
DeleteEx | Метод класса, который удаляет логический файл (или каталог), указанный в пути к объекту. |
GetEffectivePermission | Метод класса, который определяет, имеет ли вызывающий объект агрегированные разрешения, заданные аргументом Permissions , не только для объекта файла, но и для общей папки, в которой находится файл или каталог (если он находится в общей папке). |
Переименовать | Метод класса, который переименовывает логический файл (или каталог), указанный в пути к объекту. |
TakeOwnerShip | Метод класса, который получает право владения логическим файлом, указанным в пути к объекту. |
TakeOwnerShipEx | Метод класса, который получает право владения логическим файлом, указанным в пути к объекту. |
Распаковать | Метод класса, который распаковывает логический файл (или каталог), указанный в пути к объекту. |
UncompressEx | Метод класса, который распаковывает логический файл (или каталог), указанный в пути к объекту. |
Свойства
Класс Win32_Directory имеет следующие свойства.
-
AccessMask
-
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Access Rights")
Битовая маска, представляющая права доступа, необходимые для доступа к каталогу или выполнения определенных операций. Битовые значения см. в разделе Константы прав доступа к файлам и каталогам.
Примечание
На томах FAT вместо этого возвращается значение FULL_ACCESS , указывающее, что для объекта не задана безопасность.
Это свойство наследуется от CIM_LogicalFile.
-
-
FILE_READ_DATA (файл) или FILE_LIST_DIRECTORY (каталог) (1)
-
Предоставляет право на чтение данных из файла. Для каталога это значение дает право на перечисление содержимого каталога.
-
FILE_WRITE_DATA (файл) или FILE_ADD_FILE (каталог) (2)
-
Предоставляет право на запись данных в файл. Для каталога это значение предоставляет право на создание файла в каталоге.
-
FILE_APPEND_DATA (файл) или FILE_ADD_SUBDIRECTORY (4)
-
Предоставляет право на добавление данных в файл. Для каталога это значение предоставляет право на создание подкаталога.
-
FILE_READ_EA (8)
-
Предоставляет право на чтение расширенных атрибутов.
-
FILE_WRITE_EA (16)
-
Предоставляет право на запись расширенных атрибутов.
-
FILE_EXECUTE (файл) или FILE_TRAVERSE (каталог) (32)
-
Предоставляет право на выполнение файла. Каталог можно просмотреть для каталога.
-
FILE_DELETE_CHILD (каталог) (64)
-
Предоставляет право удалять каталог и все содержащиеся в нем файлы (его дочерние элементы), даже если файлы доступны только для чтения.
-
FILE_READ_ATTRIBUTES (128)
-
Предоставляет право на чтение атрибутов файла.
-
FILE_WRITE_ATTRIBUTES (256)
-
Предоставляет право изменять атрибуты файла.
-
DELETE (65536)
-
Предоставляет доступ к удалению.
-
READ_CONTROL (131072)
-
Предоставляет доступ на чтение дескриптору безопасности и владельцу.
-
WRITE_DAC (262144)
-
Предоставляет доступ на запись к дискреционному ACL.
-
WRITE_OWNER (524288)
-
Назначает владельца записи.
-
SYNCHRONIZE (1048576)
-
Синхронизирует доступ и позволяет процессу ждать, пока объект перейдет в состояние сигнала.
-
ACCESS_SYSTEM_SECURITY (18809343)
-
Управляет возможностью получения или задания saCL в дескрипторове безопасности объекта.
Архив
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Следует архивировать")
Указывает, задан ли архивный бит в папке. Архивный бит используется программами резервного копирования для определения файлов, которые должны быть архивированы. Если задано значение True, файл должен быть архивирован.
Это свойство наследуется от CIM_LogicalFile.
Caption
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: MaxLen (64), DisplayName ("Caption")
Краткое текстовое описание объекта.
Это свойство наследуется от CIM_ManagedSystemElement.
Compressed
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Сжатый")
Указывает, была ли сжата папка. WMI распознает папки, сжатые с помощью самого инструментария WMI или графического пользовательского интерфейса; Однако он не распознает .ZIP файлы как сжатые. Если задано значение True, файл сжимается.
Это свойство наследуется от CIM_LogicalFile.
CompressionMethod
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Метод сжатия")
Алгоритм или средство (обычно это метод), используемые для сжатия логического файла. Если невозможно (или не требуется) описать схему сжатия (возможно, из-за того, что она неизвестна), используйте следующие слова: "Неизвестно", чтобы указать, что неизвестно, сжимается ли логический файл; "Сжатый", который означает, что файл сжат, но либо его схема сжатия не известна, либо не раскрыта; и "Не сжато", чтобы указать, что логический файл не сжат.
Это свойство наследуется от CIM_LogicalFile.
CreationClassName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: CIM_Key, DisplayName ("Имя класса")
Имя первого конкретного класса, отображаемого в цепочке наследования, используемой при создании экземпляра. При использовании с другими ключевыми свойствами класса это свойство позволяет уникально идентифицировать все экземпляры этого класса и его подклассы.
Это свойство наследуется от CIM_LogicalFile.
CreationDate
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Дата создания")
Дата создания объекта файловой системы. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.
Это свойство наследуется от CIM_LogicalFile.
CSCreationClassName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_FileSystem. CSCreationClassNameCIM_Key,DisplayName ("Computer System Class Name")
Имя класса создания системы компьютера с областью действия.
Это свойство наследуется от CIM_LogicalFile.
CSName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: распространяется ("CIM_FileSystem. CSName"), CIM_Key, DisplayName ("Имя системы компьютера")
Имя компьютера, на котором хранится объект файловой системы.
Это свойство наследуется от CIM_LogicalFile.
Описание
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Описание")
Текстовое описание объекта.
Это свойство наследуется от CIM_ManagedSystemElement.
Диске
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Диск")
Буква диска (включая двоеточие), на котором хранится объект файловой системы.
Пример: "c:"
Это свойство наследуется от CIM_LogicalFile.
EightDotThreeFileName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Восемь точек три имени файла")
Имя папки, совместимое с MS-DOS.
Пример: "c:\progra~1"
Это свойство наследуется от CIM_LogicalFile.
Зашифрована
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Encrypted")
Указывает, была ли папка зашифрована. Если задано значение True, папка шифруется.
Это свойство наследуется от CIM_LogicalFile.
EncryptionMethod
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Метод шифрования")
Алгоритм или средство, используемое для шифрования логического файла. Если невозможно (или не требуется) описать схему шифрования (возможно, из соображений безопасности), используйте следующие слова: "Неизвестно", чтобы указать, что неизвестно, зашифрован ли логический файл; "Зашифровано", которое означает, что файл зашифрован, но либо его схема шифрования не известна, либо не раскрыта; и "Не зашифровано", чтобы указать, что логический файл не зашифрован.
Это свойство наследуется от CIM_LogicalFile.
Расширение
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Расширение файла")
Расширение имени файла для объекта файловой системы, не включая точку (.), которая отделяет расширение от имени файла.
Примеры: txt, mof, mdb
Это свойство наследуется от CIM_LogicalFile.
FileName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Fixed, Schema ("Win32"), DisplayName ("Имя файла")
Имя файла (без точки или расширения).
Пример: "autoexec"
Это свойство наследуется от CIM_LogicalFile.
FileSize
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Size"), Units ("байты")
Размер объекта файловой системы в байтах. Хотя папки имеют свойство FileSize , всегда возвращается значение 0. Чтобы определить размер папки, используйте FileSystemObject или добавьте размер всех файлов, хранящихся в папке.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
Это свойство наследуется от CIM_LogicalFile.
FileType
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Тип файла")
Тип файла (обозначается свойством Extension ).
Например, MDB-файл, скорее всего, имеет тип файла Microsoft Access Application. ASP-файл, скорее всего, имеет тип HTML Document. Папки обычно сообщаются просто как Папка.
Это свойство наследуется от CIM_LogicalFile.
FSCreationClassName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Распространяется ("CIM_FileSystem. CreationClassName"), CIM_Key, DisplayName ("Имя класса файловой системы")
Класс файловой системы.
Это свойство наследуется от CIM_LogicalFile.
FSName
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Распространяется ("CIM_FileSystem. Name"), CIM_Key, DisplayName ("Имя файловой системы")
Тип файловой системы (NTFS, FAT, FAT32), установленной на диске, где находится файл или папка.
Это свойство наследуется от CIM_LogicalFile.
Скрыта
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Hidden")
Указывает, скрыт ли объект файловой системы. Если задано значение True, файл скрыт.
Это свойство наследуется от CIM_LogicalFile.
InstallDate
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Дата установки")
Указывает, когда был установлен объект . Отсутствие значения не означает, что объект не установлен.
Это свойство наследуется от CIM_ManagedSystemElement.
InUseCount
-
Тип данных: uint64
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Текущее число открытых файлов")
Число открытых файлов, которые в данный момент активны в отношении файла.
Это свойство наследуется от CIM_LogicalFile.
Дополнительные сведения об использовании значений uint64 в скриптах см. в разделе Скрипты в WMI.
LastAccessed
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Последний доступ")
Дата последнего доступа к файлу. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.
Это свойство наследуется от CIM_LogicalFile.
LastModified
-
Тип данных: datetime
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Последнее изменение")
Дата последнего изменения файла. Дополнительные сведения о работе с форматами даты и времени WMI см. в разделе Задачи WMI: даты и время.
Это свойство наследуется от CIM_LogicalFile.
имя;
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Ключ
Свойство Name — это строка, представляющая наследуемое имя, которое служит ключом экземпляра логического файла в файловой системе. Необходимо указать полные имена путей. Пример: C:\Windows\system\win.ini
Это свойство наследуется от CIM_LogicalFile.
Путь
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Исправлено, схема ("Win32"), DisplayName ("Путь")
Путь к файлу. Путь включает в себя начальные и конечные обратные косые знаки, но не букву диска или имя папки.
Для папки c:\windows\system32\wbem путь — \windows\system32\. Путь к папке c:\scripts — \.
Это свойство наследуется от CIM_LogicalFile.
Читаемым
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Readable")
Указывает, можно ли читать элементы в папке. Если задано значение True, файл можно считать.
Это свойство наследуется от CIM_LogicalFile.
Состояние
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: MaxLen (10), DisplayName ("Status")
Строка, указывающая текущее состояние объекта.
Это свойство наследуется от CIM_ManagedSystemElement.
В эти значения входят:
ОК ("ОК")
Ошибка ("Ошибка")
Пониженный ("Пониженный")
Unknown ("Unknown")
Pred Fail ("Pred Fail")
Запуск ("Начало")
Остановка ("Остановка")
Служба ("Служба")
Подчеркнуто ("Подчеркнуто")
NonRecover ("NonRecover")
Нет контакта ("Нет контакта")
Lost Comm ("Lost Comm")
Системные функции
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: Schema ("Win32"), DisplayName ("Системный файл")
Указывает, является ли объект системным файлом. Если задано значение True, файл является системным файлом.
Это свойство наследуется от CIM_LogicalFile.
Writeable (Доступно для записи)
-
Тип данных: boolean
-
Тип доступа: только для чтения
-
Квалификаторы: DisplayName ("Writeable")
Если задано значение True, файл можно записать.
Это свойство наследуется от CIM_LogicalFile.
Комментарии
Класс Win32_Directory является производным от CIM_Directory.
Обзор
Папки — это объекты файловой системы, предназначенные для хранения других объектов файловой системы. Однако это не означает, что все папки одинаковы. Вместо этого папки могут значительно отличаться. Некоторые папки являются папками операционной системы, которые обычно не должны изменяться скриптом. Некоторые папки доступны только для чтения. Это означает, что пользователи могут получать доступ к содержимому этой папки, но не могут добавлять, удалять их или изменять. Некоторые папки сжимаются для оптимального хранения, а другие скрыты и не видны пользователям.
WMI использует класс Win32_Directory для управления папками. Примечательно, что свойства и методы, доступные в этом классе, идентичны свойствам и методам, доступным в классе CIM_DataFile , который используется для управления файлами. Это означает, что после того, как вы научились управлять папками с помощью WMI, вы без каких-либо дополнительных трудов будете знать, как управлять файлами.
Класс ассоциации Win32_Subdirectory также используется для управления файлами и папками. Класс Win32_Subdirectory связывает папку и ее непосредственные вложенные папки. Например, в структуре папок C:\Scripts\Logs журналы являются вложенной папкой Scripts, а Scripts — вложенной папкой корневой папки C:\. Однако журналы не считаются вложенной папкой C:\.
Свойства любой папки в файловой системе можно получить с помощью класса Win32_Directory . Свойства, доступные с помощью этого класса, показаны в таблице 11.1. Чтобы получить свойства для одной папки, создайте запрос языка запросов Windows (WQL) для класса Win32_Directory , включив имя папки. Например, этот запрос привязывается к папке D:\Archive:
Copy "SELECT * FROM Win32_Directory WHERE Name = 'D:\\Archive'"
При указании имени файла или папки в WQL-запросе обязательно используйте две обратные косые черти (\\) для разделения компонентов пути.
Если вы хотите ограничить извлечение данных одним диском, добавьте предложение Where, указывающее букву диска. Например, этот запрос возвращает список всех папок на диске C:
"SELECT * FROM Win32_Directory WHERE Drive = 'C:'"
Если необходимо перечислить все папки на компьютере, имейте в виду, что выполнение этого запроса может занять длительное время.
Примеры
В следующем примере VBScript извлекаются свойства папки C:\Scripts.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Name = 'c:\\Scripts'")
For Each objFolder in colFolders
Wscript.Echo "Archive: " & objFolder.Archive
Wscript.Echo "Caption: " & objFolder.Caption
Wscript.Echo "Compressed: " & objFolder.Compressed
Wscript.Echo "Compression method: " & objFolder.CompressionMethod
Wscript.Echo "Creation date: " & objFolder.CreationDate
Wscript.Echo "Encrypted: " & objFolder.Encrypted
Wscript.Echo "Encryption method: " & objFolder.EncryptionMethod
Wscript.Echo "Hidden: " & objFolder.Hidden
Wscript.Echo "In use count: " & objFolder.InUseCount
Wscript.Echo "Last accessed: " & objFolder.LastAccessed
Wscript.Echo "Last modified: " & objFolder.LastModified
Wscript.Echo "Name: " & objFolder.Name
Wscript.Echo "Path: " & objFolder.Path
Wscript.Echo "Readable: " & objFolder.Readable
Wscript.Echo "System: " & objFolder.System
Wscript.Echo "Writeable: " & objFolder.Writeable
Next
Следующий пример VBScript возвращает список всех скрытых папок на компьютере.
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Hidden = True")
For Each objFile in colFiles
Wscript.Echo objFile.Name
Next
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Пространство имен |
Root\CIMV2 |
MOF |
|
DLL |
|