PowerShell 運維菜鳥系列-02-批量取n臺Windows KEY(2018年大年初一奉獻)
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年大年初一奉獻)