Skip to main content
Orphaned Network Ingredient Bisque

Private Endpoint PurgeSousChef

Professional PowerShell script that identifies orphaned Azure network resources (NICs and Public IPs) for cost optimization. Turn forgotten network ingredients into delicious monthly savings with chef-styled HTML reports.

$1.50
per orphaned NIC/month
$3.65
per unused Public IP/month
12x
annual savings multiplier
Chef's Quick Start
# Basic network bisque recipe
.\OrphanedNetworkIngredientBisque.ps1
# Custom subscription kitchens
.\OrphanedNetworkIngredientBisque.ps1 `
  -SubscriptionIds @("sub1-id","sub2-id") `
  -AllSubscriptions:$false
# Takeaway version with custom plating
.\OrphanedNetworkIngredientBisque.ps1 `
  -OutputPath"C:\Kitchen\Savings.html"
Blaze
Blaze says:Orphaned NICs and public IPs are the silent budget killers. I've seen environments with 200+ forgotten network resources -- that's over $1,000/year just evaporating. Run this monthly and you'll wonder how you ever lived without it.

Standard cleanup workflow

Structured quick-reference sections for prerequisites, installation, usage, and troubleshooting.

Prerequisites

  • PowerShell 5.1+ or PowerShell Core 6.0+
  • Azure PowerShell modules: Az.Accounts, Az.ResourceGraph, Az.Billing
  • Reader access on target subscriptions plus Resource Graph read access
  • Azure authentication configured before execution (`Connect-AzAccount`)

Key parameters

ParameterPurposeExample
-SubscriptionIdsTargets specific subscriptions instead of all accessible subscriptions@("sub1-id","sub2-id")
-AllSubscriptionsControls full-tenant scan behavior$false
-OutputPathSets custom HTML report output location"C:\\Kitchen\\Savings.html"

The page examples focus on targeted subscription scans and custom report output for automation workflows.

Standard cleanup workflow

  1. 1Start with a tenant-wide read-only scan to baseline orphaned NICs and unused Public IPs.
  2. 2Run a targeted subscription scan for business-critical environments before cleanup changes.
  3. 3Review the HTML report and sort findings by annualized savings to prioritize remediation.
  4. 4Validate dependencies (private endpoints, load balancer attachments, historical use) before deleting resources.
PowerShell
.\\OrphanedNetworkIngredientBisque.ps1
PowerShell
.\\OrphanedNetworkIngredientBisque.ps1 -SubscriptionIds @("sub1-id","sub2-id") -AllSubscriptions:$false
PowerShell
.\\OrphanedNetworkIngredientBisque.ps1 -OutputPath "C:\\Kitchen\\SavingsMenu.html"

Savings model snapshot

Resource typeTypical waste signalMonthly cost signal
Orphaned NICUnattached NIC with no active dependency$1.50 / month
Unused Public IPAllocated but unused public IP address$3.65 / month
Multi-subscription estatesDistributed low-cost waste across many subscriptionsHigh annual aggregate impact

Report output focus

The HTML report is optimized for executive review while the detailed tables support technical cleanup planning.

Output elementWhat it showsHow teams use it
Executive summaryCount of orphaned NICs / Public IPs and savings totalsPrioritize cleanup campaigns
Detailed resource tablesSubscription, resource IDs, cost estimatesEngineer remediation queue
Subscription breakdownWaste concentration by subscriptionOwnership / accountability reviews

Troubleshooting

  • If you see access denied errors, confirm Reader role and Resource Graph read access on target subscriptions.
  • If no subscriptions are found, run `Get-AzContext` and reconnect with the correct tenant using `Connect-AzAccount -TenantId`.
  • If findings look incomplete, rerun against a targeted subscription to validate permissions and API reachability.

Cleanup validation

Treat the report as a prioritization list, not an auto-delete plan. Validate dependencies before removing network resources.

Professional Network Cost Optimization

Comprehensive detection and reporting for orphaned Azure network resources with chef-themed enterprise features

KQL-Powered Detection

Uses Azure Resource Graph KQL queries for fast, accurate discovery of orphaned NICs and unused Public IPs across all subscriptions

Smart Cost Calculation

Calculates precise monthly and annual savings with current Azure pricing for NICs ($1.50/month) and Public IPs ($3.65/month)

Chef-Styled Reports

Generates beautiful HTML reports with executive summaries, detailed resource tables, and CSV export functionality

Multi-Subscription Support

Scans all accessible subscriptions or targets specific ones with per-subscription breakdown analysis

Lonely NIC Detection

Identifies Network Interface Cards sitting unused and unattached, excluding load balancer attachments to avoid false positives

Public IP Analysis

Discovers unused Public IP addresses that are bleeding money with comprehensive attachment status verification

Enterprise Security

Respects Azure RBAC permissions with comprehensive error handling and secure resource access patterns

Chef-Themed Progress

Engaging console output with cooking metaphors, progress tracking, and colorful status indicators throughout the analysis

Chef's Cooking Instructions

Real-world recipes for network resource optimization and cost savings

Basic Network Bisque Recipe

.\OrphanedNetworkIngredientBisque.ps1

Scans all accessible subscription kitchens to identify lonely NIC lettuce and crying onion Public IPs with comprehensive cost analysis and beautiful reporting.

Custom Subscription Kitchens

.\OrphanedNetworkIngredientBisque.ps1 `
  -SubscriptionIds @("sub1-id","sub2-id") `
  -AllSubscriptions:$false

Target specific subscription pantries for focused analysis and cleanup, perfect for large organizations with multiple Azure environments.

Takeaway Version with Custom Plating

.\OrphanedNetworkIngredientBisque.ps1 `
  -OutputPath"C:\Kitchen\SavingsMenu.html"

Customize the output location for your cost savings report, perfect for automated reporting pipelines and executive presentations.

Advanced Kitchen Automation

# Schedule monthly kitchen cleaning
# Set up Azure Policy prevention
# Implement resource tagging

Integrate with Azure Automation, Logic Apps, or scheduled tasks for regular network hygiene and proactive cost optimization.

Shopping List & Kitchen Setup

Everything you need to start cooking up network cost savings

Required Ingredients

PowerShell 5.1+ or PowerShell Core 6.0+
The cooking platform for our network optimization recipes
Azure PowerShell Modules
Az.Accounts, Az.ResourceGraph, Az.Billing
Azure Account Access
Reader role on target subscriptions
Resource Graph Permissions
Microsoft.ResourceGraph/resources/read access

Kitchen Preparation

1. Install Azure PowerShell ingredients:
Install-Module Az -Force -AllowClobber
2. Heat up your Azure session:
Connect-AzAccount
3. Download and start cooking:
.\OrphanedNetworkIngredientBisque.ps1

Chef's Parameters & Seasoning Options

Customize your network optimization recipe to taste

ParameterTypeDefaultDescription
OutputPathString.\Azure_Unattached_Resources_Report.htmlWhere to serve your final cost savings dish
AllSubscriptionsSwitch$trueUse all ingredients from every subscription pantry
SubscriptionIdsString Array@()Hand-picked subscription ingredients for focused analysis

The Final Dish - Sample Output

What you'll receive after running the network optimization bisque

Chef's Console Summary

ORPHANED NETWORK INGREDIENT BISQUE COMPLETE!
Chef's Summary:
   Bisque successfully prepared and plated!
   Monthly savings soup ready: $47.30
   Annual savings banquet available: $567.60
BISQUE INGREDIENTS FOUND:
   Lonely NIC Lettuce pieces: 12 (wasting $18.00/month)
   Crying Onion Public IPs: 8 (bleeding $29.20/month)
   Total forgotten ingredients: 20
   Subscription kitchens inspected: 5

HTML Bisque Report Features

Executive Summary Cards with total waste and savings
Detailed Ingredient Tables with full resource information
Kitchen Breakdown (per subscription analysis)
Chef's Professional Recommendations for cleanup
CSV Export Buttons for spreadsheet analysis
Beautiful chef-themed styling and branding

Chef's Pro Tips & Kitchen Accidents

Professional guidance for perfect network optimization every time

Before You Clean Your Kitchen

Taste before you toss - Verify resources are truly unused
Check the recipe book - Some ingredients might be planned for future dishes
Look for dependencies - Some resources might be connected in non-obvious ways
Run monthly - Fresh results require regular kitchen cleaning

Common Kitchen Accidents

"Required Azure PowerShell modules not found"
Install-Module Az -Force -AllowClobber
"Access Denied" or"Insufficient Permissions"
Ensure Reader role and Resource Graph Reader permissions
"No subscriptions found"
Get-AzContext
Connect-AzAccount -TenantId"your-tenant-id"

Ready to Start Saving?

Join thousands of cloud chefs who have optimized their Azure network costs with our delicious automation recipes. Download the script and start saving today!

CloudCostChefs

"Remember, a clean Azure kitchen is a profitable kitchen! Every orphaned resource you clean up is money back in your pocket."

Cook responsibly, save significantly, and may your cloud costs always be optimized!

What to do next

Pick the path that fits where you are right now.

Trust & run-safety metadata

Key execution details for Azure Private Endpoint Purge SousChef so users know what they are downloading or running before they act.

Need verification guidance? See Security & Trust and Responsible Disclosure.

Read-only / reportingGitHub sourceExplicit + inferred metadata

Maintainer

CloudCostChefs

Last Updated

August 14, 2025

Last Tested

February 23, 2026

Minimum Access

Azure Reader + Resource Graph Reader permissions across the target subscriptions

Execution Type

GitHub-hosted PowerShell reporting script (orphaned network resource/private endpoint analysis)

Version

2025-08-14

SHA256 Checksum

Not published yet (recommend adding checksum for downloadable files)

Verification Notes

Despite the “purge” branding, the documented workflow is discovery/reporting oriented. Review the script and confirm scope before using findings for network cleanup work.

Safe Usage Checklist

  • Confirm orphaned NIC/IP findings with network and application owners before deletion.
  • Start with a single subscription and review HTML/CSV outputs before multi-subscription scans.
  • Run in a non-production subscription/account/tenancy first and capture sample output before broader rollout.
  • Use least-privilege access. Current best hint from docs: Azure Reader + Resource Graph Reader permissions across the target subscriptions.

Quick start (fast path)

Minimal steps to safely get value from this tool without reading the entire page first.

Estimated time: 15 minutes setup + automated monthly runsDifficulty: IntermediateAccess: Review / read-only
  1. 1. Confirm scope and permissions

    Use least privilege and test in a non-production scope first. Minimum access hint: Azure Reader + Resource Graph Reader permissions across the target subscriptions.

  2. 2. Get the tool package / source

    View on GitHub and review the files before running.

    GitHub
  3. 3. Check prerequisites

    • ✅ PowerShell 5.1+ or PowerShell Core 6.0+ for running the network optimization recipes
    • ✅ Azure PowerShell modules: Az.Accounts, Az.ResourceGraph, Az.Billing for cloud connectivity
    • ✅ Azure Reader role on target subscriptions for resource discovery and analysis
  4. 4. Run safely and review output

    Despite the “purge” branding, the documented workflow is discovery/reporting oriented. Review the script and confirm scope before using findings for network cleanup work. Start with a small sample scope, then expand once results look correct.