■ 威海職業(yè)學(xué)院 趙永華
編者按:采用PowerShell可以實(shí)現(xiàn)生成組策略安全報(bào)告的功能,這有時(shí)對于我們?nèi)粘>W(wǎng)絡(luò)安全管理來說,也是非常有益的事情。
圖1 PowerShell生成組策略對象HTML報(bào)告
PowerShell在組策略管理方面的命令非常豐富,它可以新建組策略對象,修改組策略設(shè)置等等。但它還能夠生成組策略安全報(bào)告,這項(xiàng)功能容易被人忽略,卻頗具實(shí)用價(jià)值。
在PowerShell中有一個專門生成有關(guān)組策略對象報(bào)告的命令即Get-GPOReport。在生成該報(bào)告時(shí),首先需要提供組策略對象名稱比如Default Domain Policy;其次還須設(shè)定報(bào)告類型,此時(shí)選項(xiàng)為HTML與XML,最后給出該報(bào)告存放的位置。我們不妨生成HTML格式的報(bào)告,其完整命令如下所示:
G e t-G P O R e p o r t‘Default Domain Policy’-ReportType HTML -Path C:DataGPReport.html
報(bào)告內(nèi)容如圖1,從報(bào)告中看到其內(nèi)容全面詳實(shí)并不亞于組策略編輯器。
類似地,可以生成XML格式的報(bào)告,其命令如下:
G e t-G P O R e p o r t‘Default Domain Policy’-ReportType XML -Path C:DataGPReport.xml
如果我們的目標(biāo)是在PowerShell中解析數(shù)據(jù),則不需將報(bào)告數(shù)據(jù)寫入文件,此時(shí)可將報(bào)表寫入變量而非寫入文件。在PowerShell中,變量通常通過鍵入一個符號、名稱和一個等號($MyReport =)來定義。 但如果變量要存儲XML數(shù)據(jù),可在變量定義之前的括號中包含單詞XML,導(dǎo)致PowerShell將變量內(nèi)容視為XML數(shù)據(jù)而非純文本,命令如下:
[X M L]$M y R e p o r t= G e t-G P O R e p o r t‘Default Domain Policy’-ReportType XML
將報(bào)告寫入變量后,可使用PowerShell顯示其中信息。例如輸入“$MyReport.GPO”后會看到該對象的各類信息,如機(jī)器和用戶等。
如果覺得上述信息過于籠統(tǒng)龐雜,可進(jìn)一步顯示某個欄目中詳細(xì)內(nèi)容,比如我們關(guān)心安全狀況,那么可以輸入以下PowerShell命令:
$My Report.GP O.SecurityDescriptor
還可以更細(xì),比如想要了解安全設(shè)置中的權(quán)限,則可以輸入以下命令:
$My Report.GP O.SecurityDescriptor.Permissions