{"id":19055441,"url":"https://github.com/evotecit/powerinfoblox","last_synced_at":"2026-01-26T13:08:17.187Z","repository":{"id":226053399,"uuid":"733186074","full_name":"EvotecIT/PowerInfoblox","owner":"EvotecIT","description":"PowerInfoblox is a PowerShell module to interact with Infoblox service","archived":false,"fork":false,"pushed_at":"2024-10-09T10:40:51.000Z","size":312,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-21T15:23:28.359Z","etag":null,"topics":["infoblox","powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvotecIT.png","metadata":{"files":{"readme":"README.MD","changelog":"CHANGELOG.MD","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"PrzemyslawKlys","custom":["https://paypal.me/PrzemyslawKlys"]}},"created_at":"2023-12-18T18:54:06.000Z","updated_at":"2024-10-28T19:56:53.000Z","dependencies_parsed_at":"2024-03-28T10:35:01.462Z","dependency_job_id":"2cf984a9-76ac-4191-8308-7c442186e408","html_url":"https://github.com/EvotecIT/PowerInfoblox","commit_stats":{"total_commits":206,"total_committers":1,"mean_commits":206.0,"dds":0.0,"last_synced_commit":"c4a64f74507e6b809ca94819e95fb7fcecfd10c0"},"previous_names":["evotecit/powerinfoblox"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPowerInfoblox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPowerInfoblox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPowerInfoblox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvotecIT%2FPowerInfoblox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvotecIT","download_url":"https://codeload.github.com/EvotecIT/PowerInfoblox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250561367,"owners_count":21450412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["infoblox","powershell"],"created_at":"2024-11-08T23:45:01.480Z","updated_at":"2026-01-26T13:08:17.181Z","avatar_url":"https://github.com/EvotecIT.png","language":"PowerShell","funding_links":["https://github.com/sponsors/PrzemyslawKlys","https://paypal.me/PrzemyslawKlys"],"categories":[],"sub_categories":[],"readme":"# PowerInfoblox - PowerShell Module\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- \u003ca href=\"https://dev.azure.com/evotecpl/PowerInfoblox/_build/results?buildId=latest\"\u003e\u003cimg src=\"https://img.shields.io/azure-devops/build/evotecpl/39c74615-8f34-4af0-a835-68dc33f9214f/14?label=Azure%20Pipelines\u0026style=flat-square\"\u003e\u003c/a\u003e --\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/v/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/vpre/PowerInfoblox.svg?label=powershell%20gallery%20preview\u0026colorB=yellow\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/github/license/EvotecIT/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/p/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/github/languages/top/evotecit/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/EvotecIT/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/github/languages/code-size/evotecit/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.powershellgallery.com/packages/PowerInfoblox\"\u003e\u003cimg src=\"https://img.shields.io/powershellgallery/dt/PowerInfoblox.svg?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://twitter.com/PrzemyslawKlys\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/PrzemyslawKlys.svg?label=Twitter%20%40PrzemyslawKlys\u0026style=flat-square\u0026logo=twitter\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://evotec.xyz/hub\"\u003e\u003cimg src=\"https://img.shields.io/badge/Blog-evotec.xyz-2A6496.svg?style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.linkedin.com/in/pklys\"\u003e\u003cimg src=\"https://img.shields.io/badge/LinkedIn-pklys-0077B5.svg?logo=LinkedIn\u0026style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n`PowerInfoblox` is a PowerShell module to interact with Infoblox service.\nIt's recommended to use this module in PowerShell 7, but it works in Windows PowerShell 5.1 as well.\nThe module is based on REST API and it's using `Invoke-RestMethod` to interact with Infoblox service.\nThis means error handling in PowerShell 7 is much better than in Windows PowerShell 5.1,\nwhich means the errors provided are less generic and more specific.\n\n### Installation\n\n```powershell\nInstall-Module -Name PowerInfoblox -Force -Verbose\n```\n\n### Available commands\n\nThis module provides several commands to interact with Infoblox service.\n\n| CommandType | Name                                      | Version | Source        |\n| ----------- | ----------------------------------------- | ------- | ------------- |\n| Alias       | Add-InfobloxSubnet                        | 1.0.30  | PowerInfoblox |\n| Alias       | Get-InfobloxDHCPLeases                    | 1.0.30  | PowerInfoblox |\n| Alias       | Get-InfobloxDNSAuthZones                  | 1.0.30  | PowerInfoblox |\n| Alias       | Get-InfobloxDNSRecords                    | 1.0.30  | PowerInfoblox |\n| Alias       | Get-InfobloxDNSRecordsAll                 | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxDHCPRange                     | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxDHCPRangeOptions              | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxDHCPReservation               | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfoBloxDNSRecord                     | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxFixedAddress                  | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxNetwork                       | 1.0.30  | PowerInfoblox |\n| Function    | Add-InfobloxNetworkExtensibleAttribute    | 1.0.30  | PowerInfoblox |\n| Function    | Connect-Infoblox                          | 1.0.30  | PowerInfoblox |\n| Function    | Disconnect-Infoblox                       | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDHCPLease                     | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDHCPRange                     | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDiscoveryTask                 | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSAuthZone                   | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSDelegatedZone              | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSForwardZone                | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSRecord                     | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSRecordAll                  | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxDNSView                       | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxFixedAddress                  | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxGrid                          | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxIPAddress                     | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxMember                        | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxNetwork                       | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxNetworkContainer              | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxNetworkNextAvailableIP        | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxNetworkNextAvailableNetwork   | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxNetworkView                   | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxObjects                       | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxPermission                    | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxResponsePolicyZones           | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxSchema                        | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfoBloxSearch                        | 1.0.30  | PowerInfoblox |\n| Function    | Get-InfobloxVDiscoveryTask                | 1.0.30  | PowerInfoblox |\n| Function    | Invoke-InfobloxQuery                      | 1.0.30  | PowerInfoblox |\n| Function    | New-InfobloxOption                        | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxDHCPRangeOptions           | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxDnsRecord                  | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxFixedAddress               | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxIPAddress                  | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxNetworkExtensibleAttribute | 1.0.30  | PowerInfoblox |\n| Function    | Remove-InfobloxObject                     | 1.0.30  | PowerInfoblox |\n| Function    | Set-InfobloxDHCPRange                     | 1.0.30  | PowerInfoblox |\n| Function    | Set-InfobloxDHCPRangeOptions              | 1.0.30  | PowerInfoblox |\n| Function    | Set-InfobloxDNSRecord                     | 1.0.30  | PowerInfoblox |\n\n### Examples\n\n#### Connecting to Infoblox\n\nConnect to Infoblox using your credentials.\n\n```powershell\nConnect-Infoblox -Server 'ipam.example.com' -ApiVersion '2.12' -EnableTLS12 -Credential (Get-Credential)\n```\n\n```powershell\n$Username = '\u003cyour username\u003e'\n# Encrypted password\n$SecurePassword = \"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000f41e4fd426443e4db66871df\"\nConnect-Infoblox -Server 'ipam.example.com' -Username $UserName -EncryptedPassword $SecurePassword -ApiVersion '2.12' -EnableTLS12\n```\n\n#### Examples of usage\n\nDifferent examples of usage.\n\n```powershell\nAdd-InfobloxFixedAddress -IPv4Address '10.2.2.18' -MacAddress '00:50:56:9A:00:01' -Verbose\n\nGet-InfobloxSchema | Format-List *\n\nGet-InfobloxSchema -Object 'record:host' | Format-List *\n\n# only readable fields\n(Get-InfobloxSchema -Object 'zone_auth').fields | Where-Object { $_.Supports -like \"*r*\" } | Select-Object Name\n\n# only readable fields\n(Get-InfobloxSchema -Object 'zone_auth').fields | Where-Object { $_.Supports -like \"*r*\" } | Format-Table\n\nGet-InfobloxIPAddress -Network '10.2.2.0/24' -Status Used -Verbose | Format-Table\n\nGet-InfobloxIPAddress -IPv4Address '10.2.2.18' -Verbose\n\nAdd-InfobloxFixedAddress -IPv4Address '10.2.2.18' -MacAddress '00:50:56:9A:00:01' -Verbose\n\nGet-InfobloxFixedAddress -MacAddress '00:50:56:9A:00:01' -Verbose\n\nGet-InfobloxIPAddress -IPv4Address '10.2.2.18' -Verbose\n\nGet-InfobloxIPAddress -Network '10.2.2.0/24' -Status Used -Verbose | Format-Table\n\nRemove-InfobloxFixedAddress -MacAddress '00:50:56:9A:00:01' -Verbose\n\n# this should fail\nRemove-InfobloxFixedAddress -MacAddress '00:50:56:9A:00:01' -IPv4Address '10.2.2.18' -Verbose\n\nGet-InfobloxIPAddress -Network '10.2.2.0/24' -Status Used -Verbose | Format-Table\n\nGet-InfobloxIPAddress -Network '10.2.2.0' -Status Used | Format-Table\n\n$Network = Get-InfobloxNetwork -Network '10.2.2.0/24' -Verbose\n$Network | Format-Table *\n\n$Networks = Get-InfobloxNetwork -All -Verbose\n$Networks | Format-Table *\n\nGet-InfobloxNetworkNextAvailableIP -Network '10.2.2.0' -Quantity 5 -Verbose\n\n#Get-InfobloxMember -Verbose | Format-Table\n\nGet-InfobloxDNSRecords -Verbose -Type Host -Fetch | Format-Table *\nGet-InfobloxDNSRecords -Verbose -Type PTR | Format-Table *\nGet-InfobloxDNSRecords -Verbose -Type A | Format-Table *\nGet-InfobloxDNSRecords -Verbose -Type CNAME | Format-Table *\n\n$Schema = Get-InfobloxSchema -Object 'record:ptr' -Verbose\n$Schema.fields.name -join ',' | Format-Table\n\nGet-InfobloxDNSRecords -Verbose -Type Host | Select-Object -First 2 | Format-List *\n\n$PTR = Get-InfobloxDNSRecords -Verbose -Type PTR -FetchFromSchema | Select-Object -First 200\n$PTR | Format-Table\n\nGet-InfobloxDNSRecords -Verbose -Type PTR -FetchFromSchema -Name '201.96.2.10.in-addr.arpa'\n\nGet-InfobloxDNSRecords -Verbose -Type PTR -FetchFromSchema | Select-Object -First 200 | Format-Table Name, IPV4Addr, ptrdname, zone, _ref\nGet-InfobloxDNSRecords -Verbose -Type CNAME | Select-Object -First 30 | Format-Table *\n\n\nGet-InfobloxDNSRecords -Name 'example.test.lab' -Type CNAME -Verbose\nGet-InfobloxDNSRecords -Name 'testhost11' -Type Host -Verbose\n\nGet-InfobloxDNSRecords -Verbose -Type PTR -FetchFromSchema | Select-Object -First 200 | Format-Table Name, IPV4Addr, ptrdname, zone, _ref\n\nGet-InfobloxDNSAuthZones | Format-Table\n\nGet-InfobloxDNSAuthZones -FQDN '10.39.6.0/24' | Format-List\n\nGet-InfobloxDNSForwardZone | Format-Table\nGet-InfobloxDNSDelegatedZone | Format-Table\nGet-InfobloxIPAddress -Network '10.2.33.0/24' -Status Unused | Format-Table\nAdd-InfoBloxDNSRecord -Type A -Name 'test132.example.lab' -IPv4Address 10.2.33.240 -Verbose\nAdd-InfoBloxDNSRecord -Type CNAME -Name 'test123.example.lab' -CanonicalName 'mcdonalds.pl'\n```\n\n#### Example of adding Network\n\nList/enum extensible attributes can now be provided using the display value shown in the UI.\nThe module resolves the display value to the internal ID automatically (single and multi-value).\n\nTo modify MS DHCP servers on a network, use the generic members helper:\n\n```powershell\nSet-InfobloxNetworkMembers -Network '10.46.5.128/25' -Members @(\n    'dhcp01.example.com', 'dhcp02.example.com'\n)\n\nSet-InfobloxNetworkMembers -Network '10.46.5.128/25' -AddMembers 'dhcp02.example.com'\nSet-InfobloxNetworkMembers -Network '10.46.5.128/25' -RemoveMembers 'dhcp01.example.com'\n\nSet-InfobloxNetworkMembers -Network '10.46.5.128/25' -Members @()\n```\n\nTo use other member types, specify `-MemberStruct` and `-MemberProperty`:\n\n```powershell\nSet-InfobloxNetworkMembers -Network '10.46.5.128/25' -MemberStruct 'dhcpmember' -MemberProperty 'name' -Members @(\n    'dhcp01.example.com', 'dhcp02.example.com'\n)\n\n$customMembersSplat = @{\n    Network        = '10.46.5.128/25'\n    MemberStruct   = 'dhcpmember'\n    MemberProperty = 'name'\n    AddMembers     = 'dhcp03.example.com'\n}\nSet-InfobloxNetworkMembers @customMembersSplat\n```\n\n```powershell\n$addInfobloxSubnetSplat = @{\n    Subnet                      = '10.22.35.0/24'\n    Comment                     = \"Oki dokii\"\n    AutoCreateReverseZone       = $true\n    DHCPGateway                 = \"10.22.35.1\"\n    DHCPLeaseTime               = 5000\n    DHCPDomainNameServers       = \"192.168.4.56,192.168.4.57\"\n    ExtensibleAttributeCountry = \"Poland\"\n    #ExtensibleAttributeName    = \"Test\"\n    ExtensibleAttributeRegion  = \"Europe\"\n    ExtensibleAttributeSite    = \"Site1\"\n    ExtensibleAttributeState   = \"Mazowieckie\"\n    ExtensibleAttributeVLAN    = \"810\"\n}\n\nAdd-InfobloxNetwork @addInfobloxSubnetSplat\n\n\n$addInfobloxSubnetSplat = @{\n    Subnet                = '10.22.36.0/24'\n    Comment               = \"Oki dokii\"\n    AutoCreateReverseZone = $true\n    DHCPGateway           = \"10.22.36.1\"\n    DHCPLeaseTime         = 5000\n    DHCPDomainNameServers = \"192.168.4.56,192.168.4.57\"\n    ExtensibleAttribute  = [ordered] @{\n        #Name    = 'Test'\n        VLAN    = '810'\n        Country = 'Poland'\n        Region  = 'Europe'\n        Site    = 'Site1'\n    }\n}\n\nAdd-InfobloxNetwork @addInfobloxSubnetSplat\n\n$addInfobloxSubnetSplat = @{\n    Subnet               = '10.22.37.0/24'\n    Comment              = 'List EA example'\n    ExtensibleAttribute = [ordered] @{\n        NetworkType     = 'on-prem SDC'\n        'Support group' = @('Tier1', 'Tier2')\n    }\n}\n\nAdd-InfobloxNetwork @addInfobloxSubnetSplat\n\nRemove-InfobloxNetworkExtensibleAttribute -Network '10.22.36.0/24' -Attribute 'VLAN'\nAdd-InfobloxNetworkExtensibleAttribute -Network '10.22.36.0/24' -Attribute 'VLAN' -Value '811'\n```\n\n#### Example of adding DHCP Range\n\n```powershell\n$addInfobloxSubnetSplat = @{\n    Subnet                = '10.22.41.0/24'\n    Comment               = \"Oki dokii\"\n    AutoCreateReverseZone = $true\n    DHCPGateway           = \"10.22.41.1\"\n    DHCPLeaseTime         = 5000\n    DHCPDomainNameServers = \"192.168.4.56,192.168.4.57\"\n    ExtensibleAttribute  = [ordered] @{\n        #Name    = 'Test'\n        VLAN    = '810'\n        Country = 'Poland'\n        Region  = 'Europe'\n        Site    = 'Site1'\n    }\n    Members               = @(\n        'dhcp2016.evotec.pl'\n    )\n}\n\nAdd-InfobloxNetwork @addInfobloxSubnetSplat\n\nAdd-InfobloxDHCPRange -StartAddress '10.22.41.15' -EndAddress '10.22.41.30'\n\n$addInfobloxDHCPRangeSplat = @{\n    StartAddress          = '10.22.41.70'\n    EndAddress            = '10.22.41.90'\n    Verbose               = $true\n    MSServer              = 'dhcp2016.evotec.pl'\n    Name                  = 'DHCP Range Me2?'\n    ServerAssociationType = 'MS_SERVER'\n    Exclude               = '10.22.41.75-10.22.41.79'\n}\n\nAdd-InfobloxDHCPRange @addInfobloxDHCPRangeSplat\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevotecit%2Fpowerinfoblox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevotecit%2Fpowerinfoblox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevotecit%2Fpowerinfoblox/lists"}