getps PowerShell Modules

website·Indexed 32 days ago

https://getps.dev/

A collection of PowerShell modules including psSort for sorting algorithms (BubbleSort, QuickSort, SelectionSort), psPortainer for Portainer API management, psMQTT for MQTT broker connectivity, psLogs for logging to targets like Seq, Teams, and WinEventLog, psQueue for queue management, and pSScriptInfo for script metadata.

Tokens
107.9K
Snippets
545
Records
847
Agent score
57%

What's inside getps

  1. Overview of PSScriptInfo metadata blocks

    PSScriptInfo allows you to embed a JSON-formatted metadata block at the start of a PowerShell script to track version-specific information such as version numbers, unique GUIDs, tags, creation/update dates, changelogs, and license links. The block is delimited by the tags <#PSScriptInfo and PSScriptInfo#>.
    <#PSScriptInfo
    {
        "Version" : "1.0.0.0",
        "GUID" : "a3002a7c-0870-4b5f-8bed-cd31f7f23432",
        "DateCreated" : "2021-03-29",
        "DateUpdated" : "2021-03-30",
        "ProjectSite" : "https://www.getps.dev"
    }
    PSScriptInfo#>
    
    param (
        $param1,
        $param2
    )
  2. Overview of the ps-tools.queue PowerShell module

    The pstools.queue module provides a PowerShell wrapper around the .NET System.Collections.Queue class. It is designed for scenarios where work items must be processed sequentially in the order they were added. Beyond standard queue functionality, this module adds tracking metrics to monitor the count, rate, and velocity of items being added to and removed from the queue.
  3. Overview of DANE (DNS-based Authentication of Named Entities)

    DANE is a protocol that enhances TLS connection security by binding certificates directly to DNS records using DNSSEC. This allows domain owners to specify exactly which certificates should be trusted, reducing the risk of man-in-the-middle (MITM) attacks, rogue certificates, and misconfigurations. While most commonly used for SMTP and HTTPS, DANE can be applied to any service utilizing TLS.
  4. Overview of iMessageExporter

    iMessageExporter is a PowerShell script used to extract media files, such as photos and videos, from unencrypted iMessage backups created via iTunes. It serves as a free alternative to commercial extraction services.
  5. Overview of SMTP TLS Reporting (TLS-RPT)

    TLS-RPT (SMTP TLS Reporting) is a mechanism that allows domain owners to monitor Transport Layer Security (TLS) encryption issues for email communication. It enables the detection of misconfigurations or Man-in-the-Middle (MitM) attacks by having receiving mail servers send reports back to the domain owner when TLS connections fail or are downgraded. It is typically used in conjunction with MTA-STS (SMTP MTA Strict Transport Security) to provide visibility into whether secure delivery policies are working as intended.
  6. Overview of BIMI (Brand Indicators for Message Identification)

    BIMI is an email specification that allows organizations to display their brand logo alongside authenticated emails in recipients' inboxes. It leverages DMARC to verify the sender's identity, ensuring only authenticated emails display the logo. This enhances brand recognition, fosters trust, and helps combat phishing.
  7. Overview of DANE (DNS-based Authentication of Named Entities)

    DANE is a protocol that allows domain owners to specify which TLS certificates should be trusted for a given service via DNSSEC. It binds X.509 certificates to domain names securely, reducing reliance on public Certificate Authorities (CAs) and protecting against misissued or rogue certificates.
  8. Overview of PSDataSet module

    The PSDataSet module allows PowerShell users to interact with .NET DataSets and DataTables using a simplified, 'powershell-ified' syntax. It is specifically designed for managing very large data structures in memory (e.g., tens of thousands of items with many properties) where native PowerShell collections like Arrays, Lists, or HashTables may suffer from performance degradation or memory limits.
  9. Overview of PSQueue module

    PSQueue is a wrapper module for the .NET System.Collections.Queue class. It allows developers to use queue functionality with PowerShell syntax and provides built-in performance metrics, such as item counts and processing velocity (items added/removed per second). Note that calculating these metrics introduces a marginal performance overhead, which is typically only noticeable when processing tens of thousands of operations per second.
  10. Understand DMARC email authentication

    DMARC (Domain-based Message Authentication, Reporting & Conformance) is an email authentication protocol that builds upon SPF (Sender Policy Framework) and DKIM (DomainKeys Identified Mail). It prevents email spoofing by validating that SPF and DKIM are configured correctly and align with the 'From' domain. DMARC provides three primary functions: Authentication (validating SPF/DKIM alignment), Reporting (visibility into emails sent on the domain's behalf), and Policy Enforcement (defining how receivers handle unauthenticated mail).
  11. Understand PSImmich versioning alignment

    PSImmich versioning is aligned with the Immich server version to ensure feature parity. For example, PSImmich v1.105.X corresponds to Immich API v1.105.X. The patch version (the third number) is used specifically for PSImmich module fixes. If an Immich release does not require a module update, that version number may be skipped in PSImmich.
  12. Map msExchRecipientTypeDetails values to recipient names

    The msExchRecipientTypeDetails attribute provides granular details about the recipient type. Use the following mapping to translate the integer value to a recipient name:

    ValueNameDisplay Name
    1UserMailboxUser Mailbox
    2LinkedMailboxLinked Mailbox
    4SharedMailboxShared Mailbox
    8LegacyMailboxLegacy Mailbox
    16RoomMailboxRoom Mailbox
    32EquipmentMailboxEquipment Mailbox
    64MailContactMail Contact
    128MailUserMail User
    256MailUniversalDistributionGroupMail-Enabled Universal Distribution Group
    512MailNonUniversalGroupMail-Enabled Non-Universal Distribution Group
    1024MailUniversalSecurityGroupMail-Enabled Universal Security Group
    2048DynamicDistributionGroupDynamic Distribution Group
    4096Public FolderPublic Folder
    8192SystemAttendantMailboxSystem Attendant Mailbox
    16384SystemMailboxSystem Mailbox
    32768MailForestContactCross-Forest Mail Contact
    65536UserUser
    131072ContactContact
    262144UniversalDistributionGroupUniversal Distribution Group
    524288UniversalSecurityGroupUniversal Security Group
    1048576NonUniversalGroupNon-Universal Group
    2097152DisabledUserDisabled User
    4194304MicrosoftExchangeMicrosoft Exchange
    8388608ArbitrationMailboxArbitration Mailbox
    16777216MailboxPlanMailbox Plan
    33554432LinkedUserLinked User
    268435456RoomListRoom List
    536870912DiscoveryMailboxDiscovery Mailbox
    1073741824RoleGroupRole Group
    2147483648RemoteUserMailboxRemote User Mailbox
    8589934592RemoteRoomMailboxRemote Room Mailbox
    17179869184RemoteEquipmentMailboxRemote Equipment Mailbox
    34359738368RemoteSharedMailboxRemote Shared Mailbox
    137438953472TeamMailboxTeam Mailbox