在单独的excel工作表上输出Powershell域搜索
我正在执行一个在单独的excel工作表上输出Powershell域搜索,powershell,Powershell,我正在执行一个getadcomputer,并试图迭代一个循环,该循环从各个房间提取计算机名。我正在尝试将每个房间输出到不同的Excel表 我正在运行PowerShell版本5: $results = for($room=102; $room -le 110; $room++) { Get-ADComputer -SearchBase $oubase -Properties Name, Description -Filter * | Where-Object {$_.des
getadcomputer
,并试图迭代一个循环,该循环从各个房间提取计算机名。我正在尝试将每个房间输出到不同的Excel表
我正在运行PowerShell版本5:
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name, Description -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name, Description |
Export-CSV '\\Desktop\Room_Hosts.csv' -NoTypeInformation -Encoding UTF8 -Append
我需要做什么来修复Excel工作表输出?您的帖子说您需要Excel工作表,但您的代码正在输出到CSV。无法将第二张图纸添加到CSV。每个计算机对象可以导出不同的CSV文件
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name, Description -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name, Description | Foreach-Object {
$_ | Export-CSV -Path ("\\Desktop\{0}.csv" -f $_.Name) -NoTypeInformation -Encoding UTF8 -Append
如果问题是获取域名,您可以向Select Object
命令添加一些代码
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name,Description,DNSHostName -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name,Description,@{n='Domain';e={$_.DNSHostName -Replace $("{0}." -f $_.Name}} |
Export-CSV '\\Desktop\Room_Hosts.csv' -NoTypeInformation -Encoding UTF8 -Append
检索计算机对象域的说明:
DNSHostName
属性包含计算机对象的FQDN。因此,您只需要删除该字符串的主机名部分。在这里,我们只需将主机名和下面的
字符替换为零。主机名从计算机对象的Name
属性中检索。-f
运算符用于简单地将
字符附加到名称中。选择对象
使用哈希表计算域值并将其存储在名为domain的属性中
或者,您可以应用上面的相同概念来获取域名,但使用计算机对象的CanonicalName和-Split
运算符
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name,CanonicalName,Description -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name,Description,@{n='Domain';e={($_.CanonicalName -Split "/")[0]}} |
Export-CSV '\\Desktop\Room_Hosts.csv' -NoTypeInformation -Encoding UTF8 -Append
您需要创建一个Excel COM对象,并从该对象访问其属性以操作Excel。在TechNet:和谷歌PSExcel上看看这个。RamblingCookie Monster有一个名为PSExcel的模块,它可以帮你完成一些繁重的工作