The comprehensive PowerShell module for the Netbox REST API with 100% coverage — 520+ cmdlets across DCIM, IPAM, Virtualization, Circuits, Tenancy, VPN, Wireless, and the netbox-branching plugin.
Cross-platform (PowerShell 5.1 / 7+), fully compatible with Netbox 4.6.0 (supports 4.3+).
📖 Full documentation: docs.powernetbox.dev
This project is a fork of the original NetboxPS created by Ben Claussen.
We extend our sincere thanks to Ben and all original contributors for building the foundation of this module. Their work made PowerNetbox possible.
| Original Author | Ben Claussen |
| Original Repository | benclaussen/NetboxPS |
| License | MIT (preserved from original) |
# Install
Install-Module -Name PowerNetbox -Scope CurrentUser
# Connect (paste your NetBox API token when prompted)
$cred = Get-Credential -UserName 'api'
Connect-NBAPI -Hostname 'netbox.example.com' -Credential $cred
# Query
Get-NBDCIMDevice -BriefFull install options (PS 5.1 vs 7+, platform-specific, manual build), connection and authentication details, and worked examples are in the documentation:
| 🚀 Getting started | Installation · Connecting · Your first device · Authentication |
| 📚 Cmdlet reference | docs.powernetbox.dev/reference — every public cmdlet, generated from source |
| 📝 Release notes | docs.powernetbox.dev/release-notes · GitHub Releases |
| 🧭 Guides | Common workflows · Bulk operations · Performance · Branching · Troubleshooting · Compatibility |
| 🏗️ Architecture | Overview · Error handling · Function naming · Helpers map |
The NetBox API, by default, treats all query parameter values as case-sensitive. As PowerShell is as case-insensitive as possible, the module offers an option to use case-insensitive query values.
Set-NBQueryOption -IgnoreCase:$true or Connect-NBAPI -IgnoreCase.
Depending on the version of the NetBox API used, the API supports this option for a specific set of parameters and endpoints. Due to this current limitation, the module can only support case insensitivity for the same set of cases.
- Minimum version of Netbox API is 4.4+.
- A list of parameters offered by each API version can be found in the repository. See _IgnoreCaseParameters.ps1. Each parameter is paired with an exception list of endpoints. This means it is supported on all endpoints which are not part of the list.
PowerShell 5.1 (Windows Desktop) or 7.0+ (Windows / macOS / Linux), and NetBox 4.3+ (tested against 4.3.7, 4.4.10, 4.5.10, 4.6.0). Version-specific behaviour and the support matrix are documented in the Compatibility guide.
Contributions are welcome. Fork the repo, branch from dev, follow the
PowerShell Practice and Style Guidelines,
and open a pull request against dev. See
CONTRIBUTING.md for the full workflow.
- Vulnerability reporting: see SECURITY.md. Use GitHub Security Advisories for private disclosure.
- Privacy: see PRIVACY.md. PowerNetbox sends requests only to the NetBox host you configure — no telemetry, no analytics.
- Recent security reviews:
docs/superpowers/reviews/.
PowerNetbox is distributed unsigned on PSGallery. Authenticity is anchored
in GitHub's Sigstore-backed build-provenance attestations, produced
automatically for every release by
actions/attest-build-provenance.
Verify a downloaded module:
$module = Get-Module -ListAvailable PowerNetbox |
Sort-Object Version -Descending |
Select-Object -First 1
gh attestation verify $module.Path `
--repo ctrl-alt-automate/PowerNetboxAdditional trust anchors: PSGallery publisher identity (ctrl-alt-automate),
signed git release tags, and the public MIT-licensed source at each tag.
Note on Authenticode: PowerNetbox has no Authenticode signature, so
Get-AuthenticodeSignature will report NotSigned — this is expected. An OSS
code-signing certificate may be revisited if the project grows enough to
qualify for a Foundation-backed program.
This project is licensed under the MIT License — see the LICENSE file for details.
Original copyright (c) 2018 Ben Claussen. Fork maintained by ctrl-alt-automate.
