Behind the PowerShell Pipeline logo

Behind the PowerShell Pipeline

Archives
Subscribe
September 26, 2023

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?
GitHub
Bluesky
LinkedIn
Mastodon
Website favicon
Powered by Buttondown, the easiest way to start and grow your newsletter.