使用PowerShell收集客户端MAC地址

再来分享一个项目上用到的PowerShell脚本,都是一些很简单的PowerShell语句,这个脚本的功能主要是为了实现收集每台客户端机器上的MAC地址,然后输出到记事本文件当中,本例中分享的脚本是将结果输出到客户端的桌面上,当然为了统计方便也可以统一输入到一个文件服务器中。下边来看脚本内容

Import-Module NetAdapter
$path = [Environment]::GetFolderPath("Desktop") + "\MacAddress.txt"
Add-Content $path "$env:COMPUTERNAME 中有如下网络适配器,Mac地址分别为:`r`n"
$rules = "\b[0-9,a-z]\b"
foreach ($id in (Get-NetAdapter).InterfaceIndex)
{
	$name = (Get-NetAdapter -InterfaceIndex $id).name
	$count = 0
	for ($i = 0; $i -lt $name.length; $i++)
	{
		if ($name[$i] -notmatch $rules -and $name[$i] -ne " " -and $name[$i] -ne "(" -and $name[$i] -ne ")")
		{
			$count++
		}

	}
	$length = 30 - $name.length - $count
	Add-Content $path "$name $(‘ ‘ *$length)  Mac地址为:$((Get-NetAdapter -InterfaceIndex $id).MacAddress)"
}
Add-Content $path "==================================================================="

这个脚本说实话按语法来说实在是没啥可说的,都是很简单的语法

不过我觉得唯一勉强算得上亮点可能是输出到记事本中对于中文的处理,众所周知的是因为中文按照两个字符,所以输出到记事本中的文本不管怎么样始终都无法对齐,这样看着实在别扭,如果适配器名称是中文就会看到这一行会比其他英文行凸出来一些,这个效果还是挺恶心人的 对于一个强迫症来说这个不能忍,试了试各种编码方式都没办法解决,看来只有来一个个判断了!这里用到了一个简单的正规表达式来判断是否是英文,因为表达式中没包括()和空格,所以只能在后期的语句里又加入了对于这部分的判断,总体上是可以区分出适配器名称中的中英文了,有了这样的逻辑语句,输出整齐的内容就不再是什么问题了。如果有兴趣可以试试直接将结果输出到记事本是什么效果。

这次就介绍到这了,希望能对大家有哪怕稍微一丝的帮助

时间: 2024-10-03 16:37:10

使用PowerShell收集客户端MAC地址的相关文章

js获取客户端MAC地址

最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这需求就要求每次都判断用户登录的电脑MAC地址是否有呼叫中心账号,当然只针对IE浏览器,毕竟其他浏览器是直接就给禁止此功能的. 那么首先问题一:如何才能通过页面访问得到本地MAC地址 问题二:每台电脑上都有多个MAC地址,那么应该选用哪一个MAC地址 MAC地址是每台电脑链接网络的物理地址,是唯一标识,想要从浏览器获取电脑的信息,那么就需要ActiveX,所以其他浏览器是

【Javascript】获取客户端MAC地址(仅支持IE)

<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo

php/js获取客户端mac地址的实现代码

这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下 废话不多讲,直接上代码吧! 复制代码 代码如下: <?php   class MacAddr {       public $returnArray = array();        public $macAddr; function __contruct($os_type=null){         if(is_null($os_type)) $os_type = PHP_OS;          

如何获取客户端MAC地址(三个方法)

方法一: 调用Windows的DOS命令,从输出结果中读取MAC地址: public static String getMACAddress() { String address = "";String os = System.getProperty("os.name");if ( os != null && os.startsWith("Windows")) { try { String command = "cmd.

php获取客户端mac地址

exec('/sbin/arp -a 2>&1', $array, $return_val);dump($array);$mac = '';foreach($array as $value){//匹配结果放到数组$mac_array if(strpos($value,$_SERVER["REMOTE_ADDR"]) && preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$

php获取服务器端mac和客户端mac的地址

获取服务器mac <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetmacAddr{ var $result = array(); // 返回带有MAC地址的字串数组 var $macAddr; /*构造*/ function __construct($osType){ switch ( strtolower($osType) ){ case "unix": break; case "

【安全牛学习笔记】Mac地址绑定攻击

MAC地址绑定攻击 MAC绑定                           管理员误以为MAC绑定是一种安全机制 限制可以关联的客户端MAC地址                                                                   准备AP                                AP基本配置                        Open认证                          开启无线过滤   

获取MAC地址

import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; import org.apache.commons.codec.digest.DigestUtils; import com.yd.common.utils.StringUtils; /** * * @author MrWang * 获取客户端MAC地址 * * */ public class MacAd

java获取客户端ID地址

转:http://zhenchengchagangzi.iteye.com/blog/1199300#bc2372048 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110 :2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的