私は会社で唯一のプログラマーです。それだけでなく、「メールをチェックできる」以上のリモートコンピュータリテラシーを持っているのは私だけです。そのため、すべてのマシンにアクセスして、インストールキーが重複しているかどうかを確認するように求められました(理論は、私の前の人が気にせず、引いたキーをランダムに使用したことです)。追加のソフトウェアをインストールせずにこれを判断する方法はありますか?
NirsoftのProdukeyソフトウェアを試してダウンロードしてください。 USBキーにインストールします。歩き回って実行し、キー上のファイルに出力を送信します。フルインストールは必要ありません-スタンドアロンで実行されます。 OSキーとOfficeキーを表示します。他のキーも表示される場合があります。
NirsoftのProdukeyを使用すると、各キーのローカル管理者権限またはコマンドラインフラグ/ remoteallまたは/ remotealldomain domain.comを使用したドメイン管理者権限がある場合、ネットワーク上のコンピューターからすべてのキーを取得できます。
アイデアは、PowerShellを使用して PC名のリストのライセンスキー (input.csv)をクエリすることです。
また、スクリプトは重複キーをチェックし、PC名、対応するライセンスキー、および重複チェック結果を新しいCSV(output.csv)に書き込みます。
入力としてCSVリストを作成します。 1行に1つのPC名だけを記述します。 Input.csvとして保存します
私の例では、自分のPCに4回クエリを実行します。
入力CSVと同じ場所に2つのPowerShellスクリプトをダウンロードします
Get-ProductKey.ps1
には、ローカルシステムとリモートシステムのプロダクトキーを取得する単一の関数が含まれており、 Microsoftのスクリプトセンター]からダウンロードできます。
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
同じ場所に正確な名前の3つのファイルがすべてある場合は、準備ができています。
右クリックしてWrite-ProductKeyList.ps1
スクリプトを実行し、Powershellで実行
結果(output.csv)
Excelで開くことができるのと同じ場所にCSVファイルを取得します。ライセンスキーの最初の出現はFalseでマークされます。これは、まだ重複がないことを意味します。もちろん、それ以降のすべての(重複した)キーは、「はい、このキーはすでにどこかで使用されています」を意味するTrueとしてマークされます。