利用Get-NetAdapter获取信息

Get-NetAdapter

参考链接:https://docs.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=winserver2012r2-ps

显示的属性如下(表格形式):

根据文档描述,我们可以根据Name或者InterfaceDescription过滤出想要的那个适配器。

using (PowerShell powerShellInstance = PowerShell.Create())
{
powerShellInstance.AddCommand("Get-NetAdapter"); Collection<PSObject> psOutput = powerShellInstance.Invoke(); foreach (PSObject result in psOutput)
{
if (result.Members["InterfaceDescription"].Value?.ToString().ToUpper()?.Contains(adapterDescript.ToUpper()) ?? false)
{
mac = result.Members["PermanentAddress"].Value?.ToString();break;
}
} return mac;
}

补充:

Members中的"PermanentAddress"可以在Powershell源码GetComputerInfoCommand.cs查询到。

另外,返回的mac地址并没有格式,需要自己转换

还有个牛逼之处就是,禁用的网卡也能拿取信息?!

利用Get-NetIPAddress获取信息

Get-NetIPAddress

参考链接:https://docs.microsoft.com/en-us/powershell/module/nettcpip/Get-NetIPAddress?view=winserver2012r2-ps

显示的属性如下:

一般我们可以使用组合的指令

Get-NetIPAddress -InterfaceAlias "以太网 6" -AddressFamily IPv4

比如这个,就是过滤名字叫“以太网 6”,看IP是IPv4的内容。使用组合形式的代码是这样的:

using (PowerShell powerShellInstance = PowerShell.Create())
{
powerShellInstance.AddCommand("Get-NetIPAddress");
powerShellInstance.AddParameter("InterfaceAlias", name);
powerShellInstance.AddParameter("AddressFamily", "IPv4"); Collection<PSObject> psOutput = powerShellInstance.Invoke(); foreach (PSObject result in psOutput)
{
ipAddress = result.Members["IPAddress"].Value.ToString();
} return ipAddress;
}

C# 利用Powershell获取网络相关信息的更多相关文章

  1. Python基础:获取平台相关信息

    Windows 10家庭中文版,Python 3.6.4, 本文介绍了使用os.platform.sys三个模块获取Python程序的运行平台相关的信息. os模块:提供 各种各样的操作系统接口 os ...

  2. 获取IP相关信息和文件上传

    获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connect ...

  3. Linux sysinfo获取系统相关信息

    Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h& ...

  4. PHP获取手机相关信息

    该PHP操作类实现获取手机号手机头信息,取UA,取得手机类型,判断是否是opera,判断是否是m3gate,取得HA,取得手机IP 代码如下: <?php /** * @desc 手机操作类 获 ...

  5. 通过runtime获取对象相关信息

    通过runtime获取对象相关信息 在这里,本人给大家提供一个runtime关于NSObject的扩展,用来显示各种NSObject中的信息,这有助于你来分析类的组成:) 先准备以下类供测试: Mod ...

  6. [android] android 获取网络连接信息

    效果图:  工具类 /** * 获取网络连接信息 * * 根据NetworkInfo可以知道有很多的连接方式和信息 * * ① 当没有任何可用网络的时候,networkinfo为null 判断netw ...

  7. [linux]netstat命令详解-显示linux中各种网络相关信息

    1.功能与说明 netstat 用于显示linux中各种网络相关信息.如网络链接 路由表  接口状态链接 多播成员等等. 2.参数含义介绍 -a (all)显示所有选项,默认不显示LISTEN相关-t ...

  8. 获取系统相关信息 (CPU使用率 内存使用率 系统磁盘大小)

    引言 在软件开个过程中,对于软件的稳定性和使用率也是我们需要关注的 .  使用sigar来监控,简单方便!  使用说明:下载sigar jar及配合sigar的dll文件来用,需要将dll文件放到JD ...

  9. 第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头

    一. 引言 在<第14.3节 使用google浏览器获取网站访问的http信息>和<第14.4节 使用IE浏览器获取网站访问的http信息>中介绍了使用Google浏览器和IE ...

随机推荐

  1. Python 安装selenium

    一.报错信息 No module named 'selenium' 二.系统环境 操作系统:Win10 64位 Python版本:Python 3.7.0 三.安装参考 1.使用pip安装seleni ...

  2. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  3. 一次shell中seq的处理

    一次shell中seq的处理 背景:用要shell 提取 文件中内容,文件名是用序列号如下生成,文件差不多有将近400多w个  如下:  www.ahlinux.com 原始脚本#! /bin/sh# ...

  4. xgboost 调参 !

    https://jessesw.com/XG-Boost/ http://blog.csdn.net/u010414589/article/details/51153310

  5. You-need-to-know-css

    半透明边框 背景知识: background-clip <div class="main"> <input id="pb" type=&quo ...

  6. input 框提示信息

    给input添加提示信息,只需添加 “placeholder”的class,将提示信息放在value中, 其中“placeholder”的名字是随便取的,不是H5的“placeholder”属性 例子 ...

  7. URAL 1104 Don’t Ask Woman about Her Age(数论)

    题目链接 题意 : 给你一个数,未知进制,然后让你从2到36进制中找出一个最小的进制K,满足给你的这个数作为k进制时能够整除k-1. 思路 : 有一个公式,(a*b^n)mod(b-1)=a: 给定你 ...

  8. 观察者(Observer)模式 * 委托事件

    观察者(Observer)模式:定义了一种一对多的依赖关系.让多个观察者对象同时监听某一个主题对象.   这个主题对象发生变化时会通知所有观察者对象,使他们字段更新自己 /* * 抽象主题(Subje ...

  9. Android学习笔记 Toast屏幕提示组件的使用方法

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  10. XXX培训机构Python自动化教程目录