FindObject

2.0.0

The object-aware grep PowerShell should have shipped with. Filter any pipeline by keyword using AND/OR/NOT logic, Contains/StartsWith/Fuzzy/Exact/Regex matching, multi-property search, early termination, and colorized highlighting. Decoupled Microsoft Graph / Intune integration available via FindObject.Intune submodule.

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name FindObject

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name FindObject

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2025 Matthew Bubb. All rights reserved.

Package Details

Author(s)

  • Matthew Bubb

Tags

filter search fuzzy grep object pipeline name logical-operators productivity utility Windows Intune Graph DeviceManagement MDM

Functions

Find-ObjectByName Get-FindObjectConfig Set-FindObjectConfig

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

v2.0.0 — Major release
- ARCHITECTURE: Decoupled Microsoft Graph / Intune cmdlets into optional FindObject.Intune submodule
 keeping core FindObject ultra-lightweight and zero-dependency
- PARSER: Full AST-based parser with operator precedence (NOT > AND > OR), parenthetical grouping,
 quoted phrases ("phrase with spaces"), and boolean keyword aliases (&&, ||, !, -and, -or, -not)
- PROPERTIES: Added dotted property path navigation (-Property "User.Department.Name")
- INSPECTION: Multi-property search (-Property *) inspects all properties (including non-strings and arrays)
- PERFORMANCE: Replaced -like wildcard engine with direct BCL string methods
 ([String]::Contains, StartsWith, IndexOf) — 5-20x faster on large pipelines
- NEW MODES: -Mode Exact (full string equality) and -Mode Regex (.NET regex with compile-time validation)
- HIGHLIGHTING: In-band ANSI escape formatting replaces Write-Host for non-destructive pipeline streaming
- RESULT CONTROL: -First N / -Skip N for early pipeline termination; -Count and -Quiet switches
- EXTENSIBILITY: Intune submodule provides Connect-FindObjectGraph, Get-IntuneDevice, Get-IntuneApp,
 Get-IntuneCompliancePolicy, Get-IntuneConfigProfile, Get-IntuneAutopilotDevice, Get-IntuneEnrollment

v1.1.0
- Fixed NOT logic and natural "term OR term NOT term" syntax
- Added -Mode Contains/StartsWith/Fuzzy matching
- Added -Property and -AsString
- Added -Highlight for colorized console previews
- Added Get-FindObjectConfig / Set-FindObjectConfig for persistable defaults

v1.0.0 - Initial Release
- Filter objects by name with logical operators (AND, OR, NOT)
- Pipeline-friendly design with 'fob' alias
- Cross-platform support

FileList

  • FindObject.nuspec
  • FindObject.Tests.ps1
  • .git\index
  • .git\hooks\pre-commit.sample
  • .git\hooks\sendemail-validate.sample
  • .git\objects\0d\e90f761d257904d730c9d4a86a6451e0a6bd23
  • .git\objects\f5\d6e5788de97f6f110b379de27655c3c1ebeb9f
  • .git\refs\heads\main
  • FindObject.E2E.Tests.ps1
  • LICENSE
  • .git\packed-refs
  • .git\hooks\pre-merge-commit.sample
  • .git\hooks\update.sample
  • .git\objects\7f\5002c94c2dca8dc273d6b6d47f0f8962194035
  • .git\objects\f6\4db7b8102b0e7e81c99d766f6b29abbe83cf97
  • .git\logs\refs\heads\main
  • FindObject.Intune.psd1
  • README.md
  • .git\hooks\applypatch-msg.sample
  • .git\hooks\pre-push.sample
  • .git\info\exclude
  • .git\objects\80\fa820b4561902238136e87b52dafe36cb466f7
  • .git\objects\fa\189c20aec4036482f901735a5056910ffb7bdf
  • .git\refs\remotes\origin\HEAD
  • FindObject.Intune.psm1
  • .git\COMMIT_EDITMSG
  • .git\hooks\commit-msg.sample
  • .git\hooks\pre-rebase.sample
  • .git\logs\HEAD
  • .git\objects\cb\9c30224fe542edd8c67a419e775a4b0dd6bb49
  • .git\objects\pack\pack-a628b52233b57421b6baa0f87f6dd4a7cbcdb253.idx
  • .git\refs\remotes\origin\main
  • .git\config
  • .git\hooks\fsmonitor-watchman.sample
  • .git\hooks\pre-receive.sample
  • .github\workflows\build-windows.yml
  • .git\objects\f1\3a4b113b68b21733ce6ac9bcb386c28154a515
  • .git\objects\pack\pack-a628b52233b57421b6baa0f87f6dd4a7cbcdb253.pack
  • .git\logs\refs\remotes\origin\HEAD
  • FindObject.psd1
  • .git\description
  • .git\hooks\post-update.sample
  • .git\hooks\prepare-commit-msg.sample
  • .github\workflows\post-merge.yml
  • .git\objects\f1\6863d1b7d2a8b74f4da5a90c637fe0d557cfc7
  • .git\objects\pack\pack-a628b52233b57421b6baa0f87f6dd4a7cbcdb253.rev
  • .git\logs\refs\remotes\origin\main
  • FindObject.psm1
  • .git\HEAD
  • .git\hooks\pre-applypatch.sample
  • .git\hooks\push-to-checkout.sample
  • .github\workflows\publish.yml

Version History

Version Downloads Last updated
2.0.0 (current version) 5 9/16/2026
1.1.0 72 7/1/2026
1.0.1 46 11/5/2025
1.0.0 15 4/12/2025