使用PowerShell脚本获取远程主机的IP配置信息

使用PowerShell脚本获取远程主机的IP配置信息

  • 代码如下:

[cmdletbinding()]
param (
[parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
[string[]]$ComputerName = $env:computername
)

begin {}
process {
foreach ($Computer in $ComputerName) {
if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {
$Networks = Get-WmiObject Win32NetworkAdapterConfiguration -ComputerName $Computer | ? {$.IPEnabled}
foreach ($Network in $Networks) {
$IPAddress = $Network.IpAddress[0]
$SubnetMask = $Network.IPSubnet[0]
$DefaultGateway = $Network.DefaultIPGateway
$DNSServers = $Network.DNSServerSearchOrder
$IsDHCPEnabled = $false
If($network.DHCPEnabled) {
$IsDHCPEnabled = $true
}
$MACAddress = $Network.MACAddress
$OutputObj = New-Object -Type PSObject
$OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()
$OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress
$OutputObj | Add-Member -MemberType NoteProperty -Name SubnetMask -Value $SubnetMask
$OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value $DefaultGateway
$OutputObj | Add-Member -MemberType NoteProperty -Name IsDHCPEnabled -Value $IsDHCPEnabled
$OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value $DNSServers
$OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress
$OutputObj
}
}
}
}

end {}



步骤:

  1. 将上面代码保存为PS1文件。例如: GetIP.ps1
  2. 准备好一个远程主机的列表名文件(TXT文件格式),例如; Computer_List.txt
  3. 在PowerShell下执行下面的任意一个命令:
Get-Content Computer_List.txt | .\GetIP.ps1 | ft -AutoSize

或者

Get-Content Computer_List.txt | .\GetIP.ps1 | ft ComputerName, IPAddress, DNSServers -AutoSize

原文地址:http://blog.51cto.com/snowlai/2136150

时间: 2024-07-29 18:51:05

使用PowerShell脚本获取远程主机的IP配置信息的相关文章

C++获取本机IP等信息

运行环境:VS2008,win7,代码来源于MSDN,相关函数可以查看MSDN中的函数定义.. 代码如下: 1 #include <winsock2.h> 2 #include <ws2tcpip.h> 3 #include <stdio.h> 4 #include <windows.h> 5 #pragma comment(lib, "ws2_32.lib") 6 7 int main(int argc, char **argv) 8

vbs 脚本 获取机器名/IP/MAC

strComputer = "."strMesseage="" Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") '获取本机计算机名Set colSettings = objWMIService.ExecQuery ("Select *

获取登录的IP或者信息

这是转载的,也不想去检查性能,对于这些成熟的代码,发在这里完全是懒,仅此而已! 1.获取客户端IP /// <summary> /// 获取客户端Ip /// </summary> /// <returns></returns> public String GetClientIp() { String clientIP = ""; if (System.Web.HttpContext.Current != null) { clientIP

原创作品 :使用脚本获取本机IP地址六种方法

接来下又到了老葵花哥哥开课时间了 今天讲的有些简单 可以是涂鸦之做 也可以是无聊的发呆的杰作 我想取IP地址在大家生活中很常用 今天就给大家介绍我的六种使用脚本取IP地址的方法 很多人想问我 为什么是老葵花哥哥不是老菊花 我只能说 我还是蛮娇嫩的祖国的花朵 废话不多说咱开始 第一种 第二种 第三种 接下来的方法就直接上代码了 套路还是那个城市套路 第四种 IP=`ifconfig eth0 | awk -F "[ :]+"'NR==2{print $4}'` echo "$I

PowerShell DSC(二)拆分配置信息

PowerShell DSC的配置文件支持"分离"的格式,这是什么意思呢?好比说企业有一套合规性要求,这套要求无论是对开发测试环境还是生产环境都是一致的,但是显然开发测试与生产环境的规模大小以及硬件配置等等是不一样的,这也就导致了在DSC中定义的内容可以分为"What"和"Where",即管理员要做什么和在哪做. ###################################################################

c#获取外网IP地址的方法

1.如果你是通过路由上网的,可以通过访问ip138之类的地址来获取外网IP 2.如果是通过PPPOE拨号上网的,可以使用以下代码获取IP //获取宽带连接(PPPOE拨号)的IP地址,timeout超时(秒),当宽带未连接或者连接中的时候获取不到IP public static string GetIP_PPPOE(int timeout) { int i = timeout * 2; while (i > 0) { try { NetworkInterface[] nics = Network

虚拟机IP配置总结

学习简记 基本配置流程 手动配置IP 认识网络接口设备 学习疑点 课后实操 拓展学习 学习简记 基本配置流程 1. 设置虚拟机的网络的连接方式(bridged(桥接模式).NAT模式.Host-only方式)2. 进入Linux终端,运行dhclient 命令(##NAT方式与桥接方式使用,且网络环境中有路由器),自动获取IP地址,命令运行完成后使用,ifconfig eth0查看网卡信息,看是否有获取到IP.3. 如果不能获取IP则,进行手动配置IP:可以获取则可进行IP地址的静态设置.4.

获取本地计算机的网络信息

Windows网络编程第六章探测网络中的在线设备 实验:获取本地计算机的网络信息 实验分析:主要练习对GetAdaptersInfo().GetNetworkParams().GetInterfaceInfo().GetIPAddrTable()等API函数的运用,实验中需要注意的是需要两次调用该函数,第一次返回本机要调查信息的数量,第二次调用显示具体信息. GetInfo.h void pAdapter(); void Network(); void NumberOfInterfaces();

《ASP.NET Core 高性能系列》关于.NET Core的配置信息的若干事项

1.配置文件的相关闲话 Core自身对于配置文件不是必须品,但由上文分析可知ASP.NET Core默认采用appsettings.json作为配置文件,关于配置信息的优先等级 命令行>环境变量>自我订制的配置(AddUserSecrets)>和当前环境相匹配的appsettings.json中的配置>大于appsettings.json中的配置 关于AddUserSecrets是什么这里简单一言以蔽之:每个开发人员有自己特性的配置数据,这些配置信息仅仅属于个人,不能提交给团队成员