1. 程式人生 > >PowerShell 運維菜鳥系列-02-批量取n臺Windows KEY(2018年大年初一奉獻)

PowerShell 運維菜鳥系列-02-批量取n臺Windows KEY(2018年大年初一奉獻)

log margin tac 刪除 階段 運維人員 pen lastlog 9.png

系列博文:

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年大年初一奉獻)