PowerShell 运维菜鸟系列-02-批量取n台Windows KEY(2018年大年初一奉献)
2021-02-14 11:18
标签:png it运维 openstac business 一个 exp nsf serve alt PowerShell 运维菜鸟系列-01-批量为n台服务器导入PFX证书(2017年除夕奉献) http://blog.51cto.com/dynamic/2071716 项目场景: 2017年,某客户忽然来电:“我们单位正在查正版,我想知道所有加域的Windows电脑的激活KEY分别是什么?”。 详细需求: 1. 操作系统版本 Windows XP、Windows 7、Windows 10、Windows Server 2003、Windows Server 2008 R2等。 主要操作系统为Windows XP、Windows 7。 2. 获取所有加域的Windows KEY 3. 获取所有加域的Windows 计算机配置详细信息 计算机名、IP、域、CPU、内存、网卡名字、硬盘总容量、硬盘可用容量、内存条数、内存插槽等 4. 完成时间 当天! 就当天! 目的:为了向单位提交报告,最后一天! 5. 我的妈,没事就没事,一有事就是急事,而且赶在1天内全部完成,心里没底,因为没这样干过。 干过:单台取KEY,用工具或者PowerShell脚本。 干过:多台取计算机配置的详细信息,但没有这客户要的这么详细! 本博文实现:通过PowerShell循环读取AD中导出的计算机列表,一一读取Windows KEY,写入到CSV中。 首先感谢 一位朋友“唐天浩”几年前提供的PowerShell脚本“Get-ProductKey.PS1”这次派上用场了。 再次感谢 一位朋友“小秋”几年前写的博文“详解bginfo软件在域中的部署和应用,http://blog.51cto.com/jqq1982/1035791”,这次我不但用上了,而且经过改良了,增加很多项,所有数据写入数据库,而且每1台主机1条记录,保持最新。最后将数据通过Sql报表服务,做成网页版,实时看到通过网页查询最新数据,导出数据到Excel表格里面。 废话这么多,准备进入正题: 博文简单但实用,希望有需要的朋友可以好好看看! 1. 导出AD中所有加域的计算机名 Get-ADComputer -Filter * -Property * | Select-Object Name,IPv4Address,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion, LastLogonDate | Export-CSV AllWindows.csv -NoTypeInformation -Encoding UTF8 2. 准备CSV文件Get-ProductKey-Computername.csv 将步骤1中导出的CSV删除所有,仅保留Name这列,如下图所示: 3. 准备PowerShell脚本1,Get-ProductKey-Windows.ps1 此脚本是由“唐天浩”提供,作者仅只是修改了一下脚本名字。 脚本目的:通过些脚本可以取单台加域的Windows KEY。 脚本内容:见附件! 4. 准备PowerShell脚本2,Get-ProductKey.ps1 脚本目的:通过读取Get-ProductKey-Windows.ps1和Get-ProductKey-Computername.CSV产生带有年-月-日的CSV文件,方便区分获取的是否最新的数据。 $importedusers = Import-CSV .\Get-ProductKey-Computername.csv foreach ($importeduser in $importedusers) { $GetDateNow01 = get-date -uformat "%Y-%m-%d-%H" $GetDateNow02 =Get-Date -Format 'mmmm' .\Get-ProductKey-Windows -ComputerName $importeduser.Computername | Select ComputerName,OSDescription,OSVersion,ProductKey | Export-Csv -Append C:\Get-ProductKey-Windows\Get-ProductKey-$GetDateNow01-$GetDateNow02.CSV -Encoding UTF8 } 5. 准备BAT,Get-ProductKey.BAT 脚本目的:通过右键以管理员运行,读取Get-ProductKey.PS1,从而自动产生带有年-月-日的CSV文件。 为了客户作想,为了简单化,所以才做到只有一个BAT文件。 6. 执行 看完前面5步,是不是感觉不好玩呢? 其实很简单,以下是我提供给客户的使用方法: 实现效果: 本文结束! 下文将实现本文前面所提的通过Bginfo获取每台Windows的最新数据,最终以报表的形式展现给IT运维人员。 如果有问题,请联系QQ群: 企业统一沟通平台实战 65235615 本讲师其它视频课程: 套餐: *************************************************************** 《私有云部署实战》-5个云计算产品(含:Mircrosoft,Linux)(套餐) http://edu.51cto.com/pack/view/id-516.html *************************************************************** 《私有云-部署实战-1-微软-第1代-SSP20》 《私有云-部署实战-2-微软-第2代-SC2012R2》 《私有云-部署实战-3-微软-第3代-WAP》 《私有云-部署实战-4-Linux-Cloudstack 4.3》 《私有云-部署实战-5-Linux-OpenStack-juno》 *************************************************************** *************************************************************** 《私有云-基本功能-PK-微软-And-Linux》 *************************************************************** http://edu.51cto.com/course/course_id-4875.html *************************************************************** *************************************************************** 从零开始一步一步学习Lync Server 2013(套餐) http://edu.51cto.com/pack/view/id-65.html *************************************************************** 包括: 第 01 阶段-规划 第 02 阶段-自动-管理-虚拟机 第 03 阶段-准备-基础-架构 第 04 阶段-部署-基础-环境 第 05 阶段-部署-企业语音 第 06 阶段-部署-呼叫管理功能 *************************************************************** 《在多林环境中部署 Lync Server 2013》 http://edu.51cto.com/course/course_id-5896.html *************************************************************** *************************************************************** 《Skype for Business Server 2015-企业内部-部署》 http://edu.51cto.com/course/course_id-4158.html 《Skype for Business Server 2015-企业外部-部署》 http://edu.51cto.com/course/course_id-5890.html *************************************************************** PowerShell 运维菜鸟系列-02-批量取n台Windows KEY(2018年大年初一奉献) 标签:png it运维 openstac business 一个 exp nsf serve alt 原文地址:http://blog.51cto.com/dynamic/2071725
文章标题:PowerShell 运维菜鸟系列-02-批量取n台Windows KEY(2018年大年初一奉献)
文章链接:http://soscw.com/index.php/essay/55201.html