‘我尝试导出一个没有故障转移的DHCP服务器列表,但它全部在一行中输出(A1)所有的标题都是coma后的coma。对不起,我是新来的powershell。’
$CSVFile = "C:\Dhcp_report_$CurrentDate.csv"$machines = Get-DhcpServerInDC
"DHCPServer,SecondaryDHCPServer,ScopeName,ScopeID,Subnetmask,Startrange,Endrange" |out-file -
FilePath $CSVFile -append
foreach ($machine in $machines)
{
$DHCPName = $machine.dnsname
if ($DHCPName -notin @("server01.company.corp","server02.company.corp")){
$AllScopes = Get-DhcpServerv4Scope -ComputerName $DHCPName
foreach ($scope in $AllScopes)
{
$ScopeName = $scope.Name
$ScopeId = $scope.ScopeId
$failoverscope = Get-dhcpserverv4failover -ComputerName $DHCPName -ScopeId $ScopeId -ErrorAction SilentlyContinue
if ($failoverscope) {
$SecDHCP = ($failoverscope.SecondaryServerName)
}
else {
$SecDHCP = "no failover"
}
$Subnetmask = $scope.subnetmask
$Startrange = $scope.startrange
$Endrange = $scope.endrange
$OutInfo = ($DHCPName).Replace(".company.corp","") + "," + ($SecDHCP).Replace(".company.corp","") +
"," +$ScopeName + "," + $ScopeId+ "," + $Subnetmask + "," + $Startrange + "," + $Endrange
Write-Host $OutInfo
Add-Content -Value $OutInfo -Path $CSVFile
}
}
}
发布于 2020-03-26 10:25:23
有一个用于将数据导出到csv的cmdlet Export-Csv
:
$CSVFile = "C:\Dhcp_report_$CurrentDate.csv"
$machines = Get-DhcpServerInDC
"DHCPServer,SecondaryDHCPServer,ScopeName,ScopeID,Subnetmask,Startrange,Endrange"
foreach ($machine in $machines)
{
$DHCPName = $machine.dnsname
if ($DHCPName -notin @("server01.company.corp","server02.company.corp")){
$AllScopes = Get-DhcpServerv4Scope -ComputerName $DHCPName
foreach ($scope in $AllScopes)
{
$ScopeName = $scope.Name
$ScopeId = $scope.ScopeId
$failoverscope = Get-dhcpserverv4failover -ComputerName $DHCPName -ScopeId $ScopeId -ErrorAction SilentlyContinue
if ($failoverscope) {
$SecDHCP = ($failoverscope.SecondaryServerName)
}
else {
$SecDHCP = "no failover"
}
$Subnetmask = $scope.subnetmask
$Startrange = $scope.startrange
$Endrange = $scope.endrange
[pscustomobject]@{
DHCPServer = ($DHCPName).Replace(".company.corp","")
SecondaryDHCPServer = ($SecDHCP).Replace(".company.corp","")
ScopeName = $ScopeName
ScopeID = $ScopeId
SubnetMask = $Subnetmask
StartRange = $Startrange
EndRange = $Endrange
}
} | Export-Csv $Csv -NoTypeInformation
}
}
在这里,我在psobject中排列数据并将其导出到csv。
https://stackoverflow.com/questions/60864630
复制相似问题