Behind the PowerShell Pipeline logo

Behind the PowerShell Pipeline

Subscribe
Archives
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 About Jeff
Powered by Buttondown, the easiest way to start and grow your newsletter.