WindowsAPICodePack Tooling
I hope you had an opportunity to try out the Microsoft.WindowAPICodePack library. I am very intrigued with the scripting possibilities. I love that PowerShell can open up new worlds and management opportunities. Let's continue moving from simple console-based actions to PowerShell-based tools.
When we left off, I gave you code to generate psd1 configuration files for the different property sets in the WindowsAPICodePack library. Here's what I created for system properties.
@{
AcquisitionID = 'System.AcquisitionID'
ApplicationName = 'System.ApplicationName'
Author = 'System.Author'
Capacity = 'System.Capacity'
Category = 'System.Category'
Comment = 'System.Comment'
Company = 'System.Company'
ComputerName = 'System.ComputerName'
ContainedItems = 'System.ContainedItems'
ContentStatus = 'System.ContentStatus'
ContentType = 'System.ContentType'
Copyright = 'System.Copyright'
DateAccessed = 'System.DateAccessed'
DateAcquired = 'System.DateAcquired'
DateArchived = 'System.DateArchived'
DateCompleted = 'System.DateCompleted'
DateCreated = 'System.DateCreated'
DateImported = 'System.DateImported'
DateModified = 'System.DateModified'
DescriptionID = 'System.DescriptionID'
DueDate = 'System.DueDate'
EndDate = 'System.EndDate'
FileAllocationSize = 'System.FileAllocationSize'
FileAttributes = 'System.FileAttributes'
FileCount = 'System.FileCount'
FileDescription = 'System.FileDescription'
FileExtension = 'System.FileExtension'
FileFRN = 'System.FileFRN'
FileName = 'System.FileName'
FileOwner = 'System.FileOwner'
FileVersion = 'System.FileVersion'
FindData = 'System.FindData'
FlagColor = 'System.FlagColor'
FlagColorText = 'System.FlagColorText'
FlagStatus = 'System.FlagStatus'
FlagStatusText = 'System.FlagStatusText'
FreeSpace = 'System.FreeSpace'
FullText = 'System.FullText'
IdentityProperty = 'System.Identity'
ImageParsingName = 'System.ImageParsingName'
Importance = 'System.Importance'
ImportanceText = 'System.ImportanceText'
InfoTipText = 'System.InfoTipText'
InternalName = 'System.InternalName'
IsAttachment = 'System.IsAttachment'
IsDefaultNonOwnerSaveLocation = 'System.IsDefaultNonOwnerSaveLocation'
IsDefaultSaveLocation = 'System.IsDefaultSaveLocation'
IsDeleted = 'System.IsDeleted'
IsEncrypted = 'System.IsEncrypted'
IsFlagged = 'System.IsFlagged'
IsFlaggedComplete = 'System.IsFlaggedComplete'
IsIncomplete = 'System.IsIncomplete'
IsLocationSupported = 'System.IsLocationSupported'
IsPinnedToNamespaceTree = 'System.IsPinnedToNameSpaceTree'
IsRead = 'System.IsRead'
IsSearchOnlyItem = 'System.IsSearchOnlyItem'
IsSendToTarget = 'System.IsSendToTarget'
IsShared = 'System.IsShared'
ItemAuthors = 'System.ItemAuthors'
ItemClassType = 'System.ItemClassType'
ItemDate = 'System.ItemDate'
ItemFolderNameDisplay = 'System.ItemFolderNameDisplay'
ItemFolderPathDisplay = 'System.ItemFolderPathDisplay'
ItemFolderPathDisplayNarrow = 'System.ItemFolderPathDisplayNarrow'
ItemName = 'System.ItemName'
ItemNameDisplay = 'System.ItemNameDisplay'
ItemNamePrefix = 'System.ItemNamePrefix'
ItemParticipants = 'System.ItemParticipants'
ItemPathDisplay = 'System.ItemPathDisplay'
ItemPathDisplayNarrow = 'System.ItemPathDisplayNarrow'
ItemType = 'System.ItemType'
ItemTypeText = 'System.ItemTypeText'
ItemUrl = 'System.ItemUrl'
Keywords = 'System.Keywords'
Kind = 'System.Kind'
KindText = 'System.KindText'
Language = 'System.Language'
MileageInformation = 'System.MileageInformation'
MIMEType = 'System.MIMEType'
NamespaceClsid = 'System.NamespaceCLSID'
Null = 'System.Null'
OfflineAvailability = 'System.OfflineAvailability'
OfflineStatus = 'System.OfflineStatus'
OriginalFileName = 'System.OriginalFileName'
OwnerSid = 'System.OwnerSID'
ParentalRating = 'System.ParentalRating'
ParentalRatingReason = 'System.ParentalRatingReason'
ParentalRatingsOrganization = 'System.ParentalRatingsOrganization'
ParsingBindContext = 'System.ParsingBindContext'
ParsingName = 'System.ParsingName'
ParsingPath = 'System.ParsingPath'
PerceivedType = 'System.PerceivedType'
PercentFull = 'System.PercentFull'
Priority = 'System.Priority'
PriorityText = 'System.PriorityText'
Project = 'System.Project'
ProviderItemID = 'System.ProviderItemID'
Rating = 'System.Rating'
RatingText = 'System.RatingText'
Sensitivity = 'System.Sensitivity'
SensitivityText = 'System.SensitivityText'
SFGAOFlags = 'System.SFGAOFlags'
SharedWith = 'System.SharedWith'
ShareUserRating = 'System.ShareUserRating'
SharingStatus = 'System.SharingStatus'
SimpleRating = 'System.SimpleRating'
Size = 'System.Size'
SoftwareUsed = 'System.SoftwareUsed'
SourceItem = 'System.SourceItem'
StartDate = 'System.StartDate'
Status = 'System.Status'
Subject = 'System.Subject'
Thumbnail = 'System.Thumbnail'
ThumbnailCacheId = 'System.ThumbnailCacheId'
ThumbnailStream = 'System.ThumbnailStream'
Title = 'System.Title'
TotalFileSize = 'System.TotalFileSize'
Trademarks = 'System.Trademarks'
}
I wrote a prototype function to use one of the configuration files.
Want to read the full issue?