设为首页 收藏本站
查看: 1005|回复: 0

PowerShell 运维菜鸟系列-02-批量取n台Windows KEY(2018年大年初一奉献)

[复制链接]

尚未签到

发表于 2018-9-1 11:06:02 | 显示全部楼层 |阅读模式
  系列博文:
  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这列,如下图所示:
DSC0000.jpg

  3. 准备PowerShell脚本1,Get-ProductKey-Windows.ps1
  此脚本是由“唐天浩”提供,作者仅只是修改了一下脚本名字。
  脚本目的:通过些脚本可以取单台加域的Windows KEY。
  脚本内容:见附件!
  4. 准备PowerShell脚本2,Get-ProductKey.ps1
DSC0001.jpg

  脚本目的:通过读取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
DSC0002.jpg

  脚本目的:通过右键以管理员运行,读取Get-ProductKey.PS1,从而自动产生带有年-月-日的CSV文件。
  为了客户作想,为了简单化,所以才做到只有一个BAT文件。
  6. 执行
  看完前面5步,是不是感觉不好玩呢?
  其实很简单,以下是我提供给客户的使用方法:
DSC0003.jpg

  实现效果:
DSC0004.jpg

  本文结束!
  下文将实现本文前面所提的通过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
  ***************************************************************


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-561038-1-1.html 上篇帖子: 如何使用PowerShell从VHD创建虚拟机 下篇帖子: PowerShell收集服务器日检报告,并发邮件给管理员脚本修改应用于生产环境实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表