Veyon Community Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Script PowerShell for export DHCP MAC address and import to Active Directory

    Success stories & community contributions
    3
    3
    2433
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Joel last edited by

      I just finished a powershell script to extract known MAC addresses from the DHCP server and import them into the Active Directory.

      The search for the range is automatic and before executing the script as it is you are invited to try it by commenting the line n°20 which starts with Set-ADComputer

      If you find improvements to be made, please indicate this by answering this subject.

      # Extraction de l'étendue	
      $scope=Get-DhcpServerv4Scope | Select-Object ScopeId | ForEach-Object {$_.ScopeId} | ForEach-Object {$_.IPaddressToString}
      
      Write-Host "L'étendue est $scope"
      
      # Liste des stations par nom
      Get-ADComputer -Filter {OperatingSystem -NotLike "*server*"} -Property Name | select-object -expandproperty name | ForEach-Object {
      
      	# Récupération du nom de la station
      	$AD_station="$_"
      	
      	# Extraction de l'adresse MAC selon le nom de la station
      	$DHCP_MAC=Get-DhcpServerv4Lease -computername $env:computername -allleases -ScopeId $scope | Where-Object {$_.HostName -like "*$AD_station*"} | select-object -expandproperty ClientID
      
      	#Write-Host "L'adresse MAC de $AD_station est $DHCP_MAC"
      
      	# Ajout de l'adresse MAC dans l'attribut wWWHomePage
      	if($DHCP_MAC) {
      		# Set-ADComputer à commenter pour vos tests
      		Set-ADComputer $AD_station -HomePage $DHCP_MAC
      		Write-Host "L'adresse MAC $DHCP_MAC à été ajoutée dans l'AD à l'attribut wWWHomePage de la station $AD_station"
      	}
      }
      
      1 Reply Last reply Reply Quote 0
      • X
        xco last edited by

        Hi ! I just replaced the second line with $scope="172.16.0.0" because the other scopes concern dhcp relay and I had many errors.
        Nice work, thank you !

        W 1 Reply Last reply Reply Quote 0
        • W
          wWWHomePage @xco last edited by

          @xco

          I made a small edit on the script, now it can be used with more than one scope in the DHCP server.

          # Extraction de l'étendue	
          $scope=Get-DhcpServerv4Scope | Select-Object ScopeId | ForEach-Object {$_.ScopeId} | ForEach-Object {$_.IPaddressToString}
          
          Write-Host "L'étendue est $scope"
          
          
          for ($i=0; $i -lt $scope.length; $i++){ 
          
          # Liste des stations par nom
          Get-ADComputer -Filter {OperatingSystem -NotLike "*server*"} -Property Name | select-object -expandproperty name | ForEach-Object {
          
          	# Récupération du nom de la station
          	$AD_station="$_"
          	
          	# Extraction de l'adresse MAC selon le nom de la station
          	$DHCP_MAC=Get-DhcpServerv4Lease -computername $env:computername -allleases -ScopeId $scope[$i] | Where-Object {$_.HostName -like "*$AD_station*"} | select-object -expandproperty ClientID
          
          	#Write-Host "L'adresse MAC de $AD_station est $DHCP_MAC"
          
          	# Ajout de l'adresse MAC dans l'attribut wWWHomePage
          	if($DHCP_MAC) {
          		# Set-ADComputer à commenter pour vos tests
          		Set-ADComputer $AD_station -HomePage $DHCP_MAC
          		Write-Host "L'adresse MAC $DHCP_MAC à été ajoutée dans l'AD à l'attribut wWWHomePage de la station $AD_station"
          	}
          }
          }
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Powered by NodeBB | Contributors