我是公司里唯一的程序员。不仅如此,我还是唯一一个除了“我可以查看我的电子邮件”之外对计算机有一定了解的人。因此,我被要求去所有机器上检查是否有任何计算机有重复的安装密钥(理论上,在我之前的那个人根本不在乎,随意使用他抽到的任何密钥)。有没有办法在不安装任何额外软件的情况下确定这一点?
答案1
尝试下载 Nirsoft 的 Produkey 软件。安装在 USB 密钥上。四处走走,运行它并将输出发送到密钥上的文件。不需要完整安装 - 独立运行。显示 OS 密钥和 Office 密钥。也可能显示其他密钥。
答案2
使用 Nirsoft 的 Produkey,如果您对每台计算机都具有本地管理员权限,或者使用命令行标志 /remoteall 或 /remotealldomain domain.com 具有域管理员权限,则可以从网络上的计算机检索所有密钥
答案3
概括
这个想法是使用 PowerShell 来查询PC 名称列表的许可证密钥(输入.csv)。
该脚本还将检查重复密钥,并将 PC 名称、其对应的许可证密钥和重复检查结果写入新的 CSV(output.csv)。
如何使用
创建一个 CSV 列表作为输入。每行只写一个 PC 名称。将其保存为输入.csv
在我的例子中,我查询了自己的 PC 四次。
将两个 PowerShell 脚本下载到与输入 CSV 相同的位置
Get-ProductKey.ps1
包含获取本地和远程系统产品密钥的单一功能,可从以下位置下载微软的脚本中心。Write-ProductKeyList.ps1
将使用输入 CSV 和函数脚本编写包含结果的新输出 CSV。从以下位置下载Github或者使用下面的代码。. .\Get-ProductKey.ps1 $InputCSV = import-csv .\Input.csv -Header Name $OutputCSV = @() $Keys =@() foreach ($PC in $InputCSV) { $objResult = Get-ProductKey -Computername $PC.name $checkResult = $Keys -contains $objResult.ProductKey $Keys += $objResult.ProductKey $objResult | Add-Member -type NoteProperty -name Duplicate -value $checkResult $OutputCSV = $OutputCSV + $objResult } $OutputCSV | Select-object Computername,OSDescription,ProductKey,Duplicate | export-csv -path .\Output.csv -noType
如果你有这三个文件,并且它们的名字完全相同,那么你就可以开始了。右键单击并
运行脚本Write-ProductKeyList.ps1
使用 Powershell 运行
结果(输出.csv)
您将在同一位置获得一个 CSV 文件,可以使用 Excel 打开。任何许可证密钥的第一次出现都将标记为错误的,这意味着还没有重复。当然,所有其他(重复)键都将被标记为真的意思是“是的,这个密钥已经在某处被使用了”
准备工作
- 远程 Windows 机器必须可以通过网络访问(显然)
- 每台远程机器上都必须运行“远程注册”服务(默认情况下处于开启状态)