0
我想在啓動機器時獲得機器的ip add和hostname。我已經在vmware上用動態ip安裝了3個虛擬機。其格式爲: xxxx.xxxx.xxxx.xxxx。主機名。使用腳本獲取機器的ip add和hostname
我想在啓動機器時獲得機器的ip add和hostname。我已經在vmware上用動態ip安裝了3個虛擬機。其格式爲: xxxx.xxxx.xxxx.xxxx。主機名。使用腳本獲取機器的ip add和hostname
嘗試得到Ipdata功能:
Function Get-IPData {
#this function assumes admin credentials
[cmdletBinding()]
Param(
[Parameter(Position=0,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
[ValidateNotNullOrEmpty()]
[Alias("name")]
[string[]]$computername=$env:computername
)
Process {
ForEach ($computer in $computername) {
Write-Verbose "Querying $($computer.ToUpper())"
Try
{
#get NICS that are IP and DHCP enabled
Get-WMIObject -Class win32_networkadapterconfiguration -computername $Computer `
-Filter "IPEnabled='TRUE' AND DHCPEnabled='TRUE'" -ErrorAction "Stop" |
Select Description,DNSHostname,
@{Name="IPAddress";Expression={$_.IPAddress[0]}},
@{Name="SubnetMask";Expression={$_.IPSubnet[0]}},
@{Name="DefaultGateway";Expression={$_.DefaultIPGateway[0]}},DNSDomain,
@{Name="PrimaryDNS";Expression={$_.DNSServerSearchOrder[0]}},DHCPServer,
@{Name="DHCPLease";Expression={$_.ConvertToDateTime($_.DHCPLeaseObtained)}},
@{Name="DHCPExpires";Expression={$_.ConvertToDateTime($_.DHCPLeaseExpires)}},
@{Name="DHCPTimeToLive";Expression={ $_.ConvertToDateTime($_.DHCPLeaseExpires) - (Get-Date)}},
MACAddress,
@{Name="Speed";Expression={
#use an Associators Of query to get the NIC
$nic=Get-WmiObject -query "associators of {Win32_NetworkAdapterConfiguration.Index=$($_.index)}" -computername $computer
$nic.Speed
}}
} #close Try
Catch
{
Write-Warning "Failed to retrieve IP configuration from $($computer.ToUpper())"
Write-Warning $_.Exception.Message
} #close Catch
} #close ForEach
} #close Process
} #end function
我建議你看看你正在使用VMware產品的文檔。 – arkascha
你在虛擬機上運行什麼操作系統?在計算機上看到IP,還是需要在主機上運行腳本,而不是虛擬機? – nycynik