Need a script to get the hosts where observed IP address range

For a client, I need to filter the guests (and VM) have a link with to the DMZ VLAN.

It's physical and virtual network VLAN over multiple vCenter are not compatible. So there may be physical VLAN 24 is presented in the virtual network VLAN 24 in a cluster and VLAN356 in another.

My idea is to create a script that will search IP ranges observed (such as 192.168.128.xxx) and display the name of VLAN, VLANID and VMHost.

I would get a CSV with this information, to be able to sort the results.

I'm really not if/how this can be done, and so I ask to guru

Thanks in advance!

Arjan

Have you tried it like that?

$report = foreach($esx in Get-VMHost){
    $vms = Get-VM -Location $esx    foreach($pg in (Get-VirtualPortGroup -VMHost $esx)){
        $vms | where {$_.Guest.Nics | where {$_.NetworkName -eq $pg.Name}} |
        Select @{N="Host";E={$esx.Name}},
            @{N="PG";E={$pg.Name}},
            @{N="VLANid";E={$pg.VlanId}},
            @{N="IP";E={[string]::Join(',',($_.Guest.Nics | where {$_.NetworkName -eq $pg.Name} | %{$_.IPAddress | %{$_}}))}},
            @{N="VM";E={$_.Name}}
    }
}
$report | Export-Csv "C:\report.csv" -NoTypeInformation -UseCulture

Tags: VMware

Similar Questions

  • need a script to get the news of VMs who believed map

    Hi guys

    I need a script to get the info of VMs who believed the data center map...

    Like this

    name of the virtual machine

    name of the cluster

    ESXi host ip

    name of the disk... (if it is disk 1 or 2)

    name of the data store

    NNA

    I used the script below, but I am unable to store data name, cluster and host Info

    Get-VM| Get-HardDisk-DiskType "RawPhysical","RawVirtual"| SelectParent,Name,DiskType,ScsiCanonicalName,DeviceName | fl

    Please suggest any modified script to get above information..

    Try like this

    Get-VM | Get-HardDisk -DiskType "RawPhysical","RawVirtual" |Select Parent,Name,DiskType,ScsiCanonicalName,DeviceName,  @{N="Datastore";E={$_.Filename.Split(']')[0].TrimStart('[')}},  @{N="VMHost";E={$_.Parent.Host.Name}},  @{N="Cluster";E={Get-Cluster -VM $_.Parent | Select -ExpandProperty Name}}
    
  • Need a script to get the values of hide/show

    Hello

    I use Adobe Acrobat 8. I have two radio buttons with perhaps 70 hide/show actions. Unfortunately, when I have to change one of them I have to search through all the actions. Y at - it a script that can give me a .txt file or another way to give me a list of all values?

    Thank you

    Tom

    This can be done with a script, because it has no access to this

    information. It should be a stand-alone tool or plugin.

    On Tuesday, December 23, 2014 19:48, Tom Tomasko [email protected]>

  • How to get the host name of the physical computer inside a virtual machine until the user logs in Windows?

    I don't know if this is the right place to post this question, I develop software to support VMWare PCoIP and need to know how to get the host name of the physical machine (which manages the virtual machine and View Client) within a virtual machine before the user logs in Windows of the virtual machine.

    I understand there are two ways to read the host name, via the HKEY_CURRENT_USER\Volatile Environment registry and environment variables, but they are available once the user is connected. I need info before the user connects.

    Is there a VMware API that can be called or asked the host name?

    Thank you.

    Not on the broker, but there are the startup scripts to log on to the computer virtual itself: http://pubs.vmware.com/view-52/topic/com.vmware.view.integration.doc/view_integration_startsession_script.9.2.html

    Note that these executed when a virtual desktop computer allocated connection, not to the point that the client connects - it is possible for the customer to not complete the connection (crash, cancel, network failure) and so any what solution you design must handle this.

    Mike

  • script to get the csv vm disk usage and export to csv format

    Hi all

    I am trying to create a script to get the use of disk for vm - space - free space and total disk space.

    I used this script that allows me to get the required result.

    but I need to edit the script for each cluster, VM he should get computers virtual cluster and check the vm disuage. and export of csv file

    $vms = import-CSV "C:\Cluster.csv".

    $outputfile = "c:\Diskusage.csv".

    SE connect-viserver VC-vcadmin username-password

    {foreach ($vm to $vms)

    Get - VM $vm.name | Where {$_.} PowerState - eq "Receptor"} | Get-VMGuest | Select the ExpandProperty - VMName disks | Select VMName, path, @{Name = "DiskCapacityGB"; Expression = {[math]: Round ((($_.))} {{((Ability) / 1 GB), 2)}}, @{Name = "DiskUsedMB"; Expression = {[math]: Round ((($_.))} Capacity - $_. {{((FreeSpace) / 1 MB), 2)}}, @{Name = "DiskFreeMB"; Expression = {[math]: Round ((($_.))} {{((FreeSpace) / 1 MB), 2)}} | Export-Csv - NoTypeInformation $outputfile}

    Viserver disconnect

    Joint the output file

    Veuileez help me in creating the script

    You can try like this?

    Connect-viserver VC -user vcadmin -password
    foreach($cluster in Get-CLuster){
        $outputfile = "c:\" + $cluster.Name + "-Diskusage.csv"    Get-VM -Location $cluster |
        Where { $_.PowerState -eq "PoweredOn" } |
        Get-VMGuest |
        Select VMName -ExpandProperty Disks |
        Select VMName, Path,
            @{Name="DiskCapacityGB";Expression={[math]::Round((($_.Capacity)/1GB),2)}},
            @{Name="DiskUsedMB";Expression={[math]::Round((($_.Capacity - $_.FreeSpace)/1MB),2)}},
            @{Name="DiskFreeMB";Expression={[math]::Round((($_.FreeSpace)/1MB),2)}} |
        Export-Csv -NoTypeInformation $outputfile}
    
    Disconnect-viserver
    

    The script creates a CSV file for each cluster.

  • Can write us "PowerCLI Script" to get the details of card RAID HP (Firmware & Driver)?

    Can write us "PowerCLI Script" to get the details of card RAID HP (Firmware & Driver)

    For example: native ESX command below shows desired output for me.

    But we needed equality PowerCLI ESX command below script

    # cat/proc/driver/cciss/cciss0

    cciss0: HP Smart Array P400i controller

    Board ID: 0x3235103c

    Firmware version: 7.22# cat/proc/driver/hpsa/hpsa0

    hpsa0: HP Smart Array P410i controller

    Board ID: 0x3245103c

    Firmware version: 5,70

    Driver version: HP HPSA driver (v 5.0.0 - 17vmw)

    The extracted following PowerCLI you will get server and type of controller, firmware version and the hpsa/Smart Storage Array controllers driver version based of:

    Get-VMhost | Sort | Select Name, Model,@{N='Controller Type'; E={(Get-VMHostHba -VMHost $_ | ? {$_.Model -imatch '.*(hpsa|smart).*'}).Model}},@{N='Controller Firmware'; E={($_.ExtensionData.Runtime.HealthSystemRuntime.SystemHealthInfo.NumericSensorInfo | ? {$_.Name -like '*hpsa*firmware*'}).Name}},@{N='hpsa Driver Version'; E={($_.ExtensionData.Runtime.HealthSystemRuntime.SystemHealthInfo.NumericSensorInfo | ? {$_.Name -like '*scsi-hpsa*'}).Name}} | Format-Table -Autosize
    

    The sample output:

    
    Name                     Model                Controller Type   Controller Firmware                           hpsa Driver Version----                     -----                ---------------   -------------------                           -------------------esxihost1022.local    ProLiant DL380 G6    Smart Array P410i    HP Smart Array Controller HPSA1 Firmware 6.40    Hewlett-Packard scsi-hpsa 5.0.0.60-1OEM.500.0.0.472560 2014-05-15 15:32:23.000esxihost1023.local    ProLiant DL380 G6    Smart Array P410i    HP Smart Array Controller HPSA1 Firmware 6.40    Hewlett-Packard scsi-hpsa 5.0.0.60-1OEM.500.0.0.472560 2014-05-15 15:32:23.000esxihost1024.local    ProLiant DL380 G6    Smart Array P410i    HP Smart Array Controller HPSA1 Firmware 6.40    Hewlett-Packard scsi-hpsa 5.0.0.60-1OEM.500.0.0.472560 2014-05-15 15:32:23.000esxihost1033.local    ProLiant DL360p Gen8    Smart Array P420i    HP Smart Array Controller HPSA1 Firmware 5.42    Hewlett-Packard scsi-hpsa 5.0.0.60-1OEM.500.0.0.472560 2014-05-15 15:32:23.000esxihost1034.local    ProLiant DL360p Gen8    Smart Array P420i    HP Smart Array Controller HPSA1 Firmware 5.42    Hewlett-Packard scsi-hpsa 5.0.0.60-1OEM.500.0.0.472560 2014-05-15 15:32:23.000esxihost1041.local    ProLiant DL380 G5    Smart Array P400    HP Smart Array Controller HPSA1 Firmware 7.24    VMware scsi-hpsa 5.0.0-17vmw.500.0.0.469512 2011-08-19 01:58:59.000esxihost1042.local    ProLiant DL380 G5    Smart Array P400    HP Smart Array Controller HPSA1 Firmware 7.24    VMware scsi-hpsa 5.0.0-17vmw.500.0.0.469512 2011-08-19 01:58:59.000esxihost1160.local    ProLiant BL460c Gen8    Smart Array P220i    HP Smart Array Controller HPSA1 Firmware 5.22    Hewlett-Packard scsi-hpsa 5.0.0-40OEM.500.0.0.472560 2012-08-24 21:04:51.000esxihost1161.local    ProLiant BL460c Gen8    Smart Array P220i    HP Smart Array Controller HPSA1 Firmware 5.22    Hewlett-Packard scsi-hpsa 5.0.0-40OEM.500.0.0.472560 2012-08-24 21:04:51.000
    
  • Need a script to disable the copy/paste in virtual machines

    Need a script to disable the copy/paste in virtual machines

    =================

    Begin {}

    $disableCopy = "isolation.tools.copy.enable".
    $disableCopy_value = "false".
    $disablePaste = "isolation.tools.paste.enable".
    $disablePaste_value = "false".
    $disableGUI = "isolation.tools.setGUIOptions.enable".
    $disableGUI_value = "false".
    }

    {In process
    #Make of course, it's a virtual machine
    If ($_ - isnot [VMware.VimAutomation.Client20.VirtualMachineImpl]) {co continue}

    #Setup our object
    $vm = get-view $_. ID
    $vmConfigSpec = new-Object VMware.Vim.VirtualMachineConfigSpec
    $vmConfigSpec.extraconfig += new-Object VMware.Vim.optionvalue
    $vmConfigSpec.extraconfig += new-Object VMware.Vim.optionvalue
    $vmConfigSpec.extraconfig += new-Object VMware.Vim.optionvalue
    $vmConfigSpec.extraconfig [0]. Key = $disableCopy
    $vmConfigSpec.extraconfig [0]. Value = $disableCopy_value
    $vmConfigSpec.extraconfig [1]. Key = $disablePaste
    $vmConfigSpec.extraconfig [1]. Value = $disablePaste_value
    $vmConfigSpec.extraconfig [2]. Key = $disableGUI
    $vmConfigSpec.extraconfig [2]. Value = $disableGUI_value
    #Run change
    $vm. ReconfigVM ($vmConfigSpec)
    }

    =================

    The script above did not work. This script must run on VMs specified in a cluster that is mentioned.

    As long as vmhgfs is not installed in your virtual machines during the installation of the tools in 5.0, copy and paste between virtual machines is not enabled by default

  • Script to get the name of VMhost among a list of VM?

    Hi people,

    Can anyone here help me scripting by getting the ESXi host name or $vmhost name in the list of the VM?

    Thank you.

    You mean this

    Get-VM | Select Name,@{N="Host";E={$_.Host.Name}}
    
  • I nned to know the procedure I use to get can Mac 2008 Desk top that will not start. I don't know how to connect two computers, my portable Mac Air 2013 on my desk, now I need to know how get the workstation files in order to appear on my mac air so I can

    Does anyone know how after I connect to my office 2008 Mac (which will not start.) to my computer laptop (2013 Mac Air). What are the steps that I need to know to get the Desktop files is displayed on my mac air so I can copy files to your laptop, especially my Itunes folder.

    Thanks Jerri

    If you can't get the iMac began and ongoing implementation, you will not be able to use the target disk Mode:

    https://support.Apple.com/en-us/HT201462

    Then the option is to take the iMac HARD drive, install it in an enclosed, and connect the HARD drive to the MBA via the USB port.  If the HARD drive is recognized, you can copy the data out of it.

    Ciao.

  • If I create a windows 10 dvd using media creation tool, I need to install to get the free offer before 7/29

    If I create a windows 10 dvd using media creation tool, I need to install to get the free offer before 7/29

    Before Hawaii 2359 time (GMT-10) July 29.

  • Need a script to change the password of admin for all the VMs (windows)

    Need a script to change the password of admin for all the VMs (windows)

    Hi LucD,

    Need your help about changing the password to root for Linux VM.

    It throws the following error when I run on Linux VM

    Invoke VMScript: 10/04/2013-16:52:02 Invoke VMScript Could not authenticate with the guest operating system by using the supplied credentials.

    Thank you

    Suresh

  • I'm new in indesign scripting, please tell me how to write a script to get the contents of an XML element and then sort all the content

    I'm new in indesign scripting, please tell me how to write a script to get the contents of an XML element and then sort all the content

    Hello

    Can the code below is useful for you, but I do not know how to sort.

    Change the tag based on your employment application.

  • Need to powershell script to gather the host ESX Info network

    Hello

    I need two scripts powershell to collect two types of information about the ESX host network.

    1. information vNIC -& gt; information on the vmnic (physical ESX host network adapter) connected to vSwitches.

    vNIC | VSwitch model | | Trade | Speed | Status | | PCI slot Active/stand-by/not assigned

    (Example) output expected:

    vmnic0 | intel corporation 82XXXX gigabit ethernet controller | vSwitch0 | service console, vMotion | 1000mbps Full | up 01:01.00 | | Assets

    2. Portgroup information

    PortGroup | vNIC (s) with active / standby |  PCI slot of vNIC (s) with active / standby | Physical switch with port number

    Expected results (example):

    Service console | vmnic0 (a) : (s) | 01 vmnic1: 00. 00 (a) : 02:00. 00 (s) | abcd-123 [GigabitEthernet10/10] : xyzf-7890 [Gigabitethernet11/11]

    Please note if CDP is not active, then in the field of physical switch values can contain "CDP is not enabled"

    Thanks in advance!

    Noticed that the two threads under became a little mixed in the script.

    This is the script with the devIds with the indication of the active / standby.

    foreach($esxImpl in (Get-VMHost)){
         $esx = $esxImpl | Get-View
         $netSys = Get-View $esx.ConfigManager.NetworkSystem
         foreach($pg in $esx.Config.Network.Portgroup){
              $pNICStr = @()
              $pciStr = @()
              $cdpStr = @()
              foreach($a in $pg.ComputedPolicy.NicTeaming.NicOrder.ActiveNic){
                   if($a){
                        $pNICStr += ($a + "(a)")
                        $pciStr += ($esx.Config.Network.Pnic | where {$_.Device -eq $a} | %{$_.Pci + "(a)"})
                        $cdpInfo = $netSys.QueryNetworkHint($a)
                        $cdpStr += &{if($cdpInfo[0].connectedSwitchPort){$cdpInfo[0].connectedSwitchPort.devId + "(a)"}else{"CDP not configured(a)"}}
                   }
              }
              foreach($s in $pg.ComputedPolicy.NicTeaming.NicOrder.StandbyNic){
                   if($s){
                        $pNICStr += ($s + "(s)")
                        $pciStr += ($esx.Config.Network.Pnic | where {$_.Device -eq $s} | %{$_.Pci + "(s)"})
                        $cdpInfo = $netSys.QueryNetworkHint($s)
                        $cdpStr += &{if($cdpInfo[0].connectedSwitchPort){$cdpInfo[0].connectedSwitchPort.devId + "(s)"}else{"CDP not configured(s)"}}
                   }
              }
    
              $pg | Select @{N="ESXname";E={$esxImpl.Name}},
              @{N="Portgroup";E={$pg.Spec.Name}},
              @{N="VLANid";E={$pg.Spec.VlanId}},
              @{N="pNIC";E={$pNICStr}},
              @{N="PCI location";E={$pciStr}},
              @{N="Physical switch";E={$cdpStr}}
         }
    }
    

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • Need Edwardian Script for CS5 - anyone know where I can get it?

    I have a client who wishes to Edwardian Script for his wedding video. I don't have it on one of my Adobe CS5 products. I don't want to join the cloud. Anyone knows how I can get the police and use it with CS5?

    I saved the police on my C drive, and then re - launched PP.

    Save the police appear not in PP. You need to 'install' the fonts into your "Fonts" directory Did you install or simply save it? If you have not installed it you should just be able to right click on the policy and then select install from the pop-up menu. Once the police has been 'installed' in your fonts directory, all applications will read it. I Edwardian Script installed on my machines, and Adobe applications read them fine.

  • Script to get the VLan ID, vSwitch, networking and group of vCenter vmkernel ports.

    Hello

    Need help to get the script of ' Script for the VLan ID, vSwitch, networking and group ports vmkernel of vCenter. "to CSV

    Any help will be much appreciated.

    Get-VMHost | {foreach}

    $vmhost = $_

    $PortGroups = $vmhost | Get-VirtualPortGroup

    $vSwitchs = $vmhost | Get-VirtualSwitch

    $pNic = $vmhost | Get-VMHostNetworkAdapter

    $Managementinfo = $pNic | Where-Object {$_.} ManagementTrafficEnabled - eq $true}

    $vMotioninfo = $pNic | Where-Object {$_.} VMotionEnabled - eq $true}

    $FTinfo = $pNic | Where-Object {$_.} FaultToleranceLoggingEnabled - eq $true}

    $vlanID = $PortGroup | Where-Object {$_.name - eq $Managementinfo.ExtensionData.spec.Portgroup} | Select-object - ExpandProperty VLanId

    {foreach ($PG in $PortGroups)

    #Management Info network

    If ($Managementinfo.PortGroupName - eq $PG.) {Name)

    $MGMTStatus = "enabled".

    $ManagementIP = $Managementinfo | Where-Object {$_.} PortGroupName - eq $PG. Name} | Select-Object - ExpandProperty IP

    }

    else {}

    $MGMTStatus = "Disabled".

    $ManagementIP = $null

    }

    #vMotion Info network

    If ($vMotioninfo.PortGroupName - eq $PG.) {Name)

    $vmotionStatus = "enabled".

    $vMotionIP = $vMotioninfo | Where-Object {$_.} PortGroupName - eq $PG. Name} | Select-Object - ExpandProperty IP

    }

    else {}

    $vmotionStatus = "Disabled".

    $vMotionIP = $null

    }

    #FT Info network

    If ($FaultToleranceLoggingEnabled.PortGroupName - eq $PG.) {Name)

    $FTStatus = "enabled".

    $ftIP = $FTinfo | Where-Object {$_.} PortGroupName - eq $PG. Name} | Select-Object - ExpandProperty IP

    }

    else {}

    $FTStatus = "Disabled".

    $ftIP = $null

    }

    #vmKernel name

    $VMKernel = $pNic | Where-Object {$_.} PortGroupName - eq $PG. Name} | Select-Object - ExpandProperty DeviceName

    $result = "" | Select-Object HostName, vSwitchName, PortGroupName, VLanID, ManagementTraffic, ManagementIP, vMotionTraffic, vMotionIP, FTTraffic, FTIP, VMKernel

    $result. Host name = $vmhost.name

    $result.vSwitchName = $PG. VirtualSwitchName

    $result. PortGroupName = $PG. Name

    $result. VLanID = $PG. VLanID

    $result. VLanID = $PG. VLanID

    $result. ManagementTraffic = $MGMTStatus

    $result. ManagementIP = $ManagementIP

    $result.vMotionTraffic = $vmotionStatus

    $result.vMotionIP = $vMotionIP

    $result. FTTraffic = $FTStatus

    $result. FTIP = $ftIP

    $result. VMKernel = $VMKernel

    $result

    }

    } | Export-Csv c:\temp\data.csv

Maybe you are looking for

  • disable the notification services

    I gave permission to firefox to collect data for purposes of development, and I would like to cancel this authorization. How do I do that?

  • Details of the iPhone

    If I brought an iphone in us can I use it in India... or something of that problem. Please tell me...

  • Range of HP Envy Phoenix 810 computers: I need help to install the drivers...

    Recently, I bought this computer used from a large company.  They have removed the hard drive, but left intact the rest of the computer.  I put in a new hard drive and installed Windows 7 on the computer.  My problem now is that I need to install the

  • 0x800b0101

    I'm trying to update with the release of sp1 for windows 7, but I expect all 30 minutes each time to give the same error "0x800B0101.  I tried microsoft fix.  I tried the system update readiness tool.  I tried the forums.  I did the scans with securi

  • MY HDMI computer does not recognize my TV as audio device

    I have a Samsung (un32f5500ag) TV as monitor, I use with HDMI but I am using speakers separated because my computer does not recognize my TV as a valid speaker, I tried the configuration, I tried to update the drivers, checked outputs from the TV, bu