16 禁用用户帐户和Excel查看HTML
Hi_大家好,我是Cantgis,欢迎做客Cantgis小屋。
PowerShell禁用用户账户。
我们使用这个Disable-ADAccount cmdlet命令来禁用一个Active Directory用户、计算机或服务帐户。
当我们需要禁用多个帐户,可能会发现一些问题:
1
|
PS> Disable-ADAccount -Identity user1,user2,user3
|
但这并不是出现错误和影响正常运行。只是标识参数不接受多个值。
典型的解决方案是使用服务来通过一个foreach对象cmdlet帐户:
1
2
3
|
echo user1 user2 user3 | ForEach-Object {
Disable-ADAccount -Identity $_
} |
我们下面有一个更为简单的做法来做这个事情,我们只需要通过管道直接指向Disable-ADAccount
在默认情况下,Disable-ADAccount不会生成任何输
出结果的
这样我们需要添加一个PassThru 来显示输出结果
1
|
echo user1 user2 user3 | Disable-ADAccount -PassThru
|
这样Cantgis 带领大家就能得到非常完美的结果,一次性禁止多个AD用户或者服务账户哦。
Excel可以用来查看HTML。
如果我们添加一些CSS样式来ConvertTo-HTML的结果可以添加比较棒的输出到Excel中,
我们会用一个简单的输出csv。下面Cantgis 写了一个小脚本关于计算机输出CPU,当然你可以丰富这个脚本。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
$HTMLFile = Join-Path $Home "Processes.html"
$HTML = Get-Process | Select-Object CPU, ID, ProcessName | ConvertTo-HTML
# Reference for color names http://www.w3schools.com/cssref/css_colornames.asp $HTML = $HTML -replace '^[<]tr[>][<]td[>][<][/]td[>]' , '<tr style="color:red" ><td></td>'
# Highlight anything that has Chrome or Google In the Name $HTML = $HTML -replace '[<]td(?<T>[>]((chrome)|(Google[^<]*))[<][/]td[>])' , '<td style="blue;color:Yellow" ${T}'
$HTML | Out-File $HTMLFile
#Find a good version of Excel.exe $Excel = Resolve-Path "C:\Program Files*\Microsoft Office\Office*\EXCEL.EXE" |
Select-Object -First 1 -ExpandProperty Path
& $Excel $HTMLFile
|
下面就是这个脚本输出的截图
本文转自cantgis 51CTO博客,原文链接:http://blog.51cto.com/cantgis/1242551,如需转载请自行联系原作者