所以才做到只有一个BAT文件

时间:2022-01-30 04:41:30

标签:

 系列博文:

PowerShell 运维菜鸟系列-01-批量为n台处事器导入PFX证书(2017年大年节奉献)


项目场景:

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软件在域中的部署和应用,”,此次我不单用上了,而且颠末改善了,增加很多项,所有数据写入数据库,而且每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这列,如下图所示:

所以才做到只有一个BAT文件

3. 筹备PowerShell脚本1,Get-ProductKey-Windows.ps1

此脚本是由“唐天浩”供给,作者仅只是改削了一下脚本名字。

脚本目的:通过些脚本可以取单台加域的Windows KEY。

脚本内容:见附件!

4. 筹备PowerShell脚本2,Get-ProductKey.ps1

所以才做到只有一个BAT文件

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

所以才做到只有一个BAT文件

脚本目的:通过右键以打点员运行,读取Get-ProductKey.PS1,从而自动孕育产生带丰年-月-日的CSV文件。

为了客户作想,为了简单化,所以才做到只有一个BAT文件。

6. 执行

看完前面5步,是不是觉得欠好玩呢?

其实很简单,以下是我供给给客户的使用要领: