Csv 输出多个值时出现问题
我正在编写一个脚本来收集有关域计算机的数据,并试图将其输出到csv文件。然而,这并不是我想要的方式 这是我的密码:Csv 输出多个值时出现问题,csv,powershell,active-directory,export-to-csv,Csv,Powershell,Active Directory,Export To Csv,我正在编写一个脚本来收集有关域计算机的数据,并试图将其输出到csv文件。然而,这并不是我想要的方式 这是我的密码: Set-ExecutionPolicy Unrestricted -force Import-Module ActiveDirectory $CSVPath = $ScriptFolderPath + "\" + $ScriptName + ".csv" $Import = Get-Content "c:\T2\AD Computers Scripts\ComputersTes
Set-ExecutionPolicy Unrestricted -force
Import-Module ActiveDirectory
$CSVPath = $ScriptFolderPath + "\" + $ScriptName + ".csv"
$Import = Get-Content "c:\T2\AD Computers Scripts\ComputersTest.csv"
foreach ($Member in $Import)
{
$ComputerName = Get-ADComputer $Member -Properties Name, CanonicalName | Select Name, CanonicalName
$ConnectionStatus = Test-Connection $Member -Quiet
IF ($ConnectionStatus -eq $TRUE)
{
$IPAddress = Test-Connection $Member -Count 1 | Select -ExpandProperty IPV4Address
}
ELSE
{
$IPAddress = "Not able to contact server"
}
$CSVPath
$Report1 = $ComputerName | ForEach -Process {$_ | Add-Member -Name IPAddress -Value $IPAddress -MemberType NoteProperty -PassThru}
$Report1 | Add-Member -Name Subnet -Value $CSVPath -MemberType NoteProperty -PassThru
$Report1
"`n`n`n"
输出如下所示:
Name CanonicalName IPAddress Subnet
---- ------------- --------- ------
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
Name CanonicalName IPAddress Subnet
---- ------------- --------- ------
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
我只需要一条线。应该是这样的:
Name CanonicalName IPAddress Subnet
---- ------------- --------- ------
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
Name CanonicalName IPAddress Subnet
---- ------------- --------- ------
CEN-RVS abc.local/Servers/Corpora... 10.19.95.2 C:\t2\AD Computers Scripts
-PassThru
参数到添加成员
意味着“输出修改的对象”
因此,这两条语句(除了向$Report1
添加NoteProperty的副作用)是多余的:
$Report1 | Add-Member -Name Subnet -Value $CSVPath -MemberType NoteProperty -PassThru
$Report1
要么删除末尾的
$Report1
语句,要么从addmember语句中删除-PassThru
开关脚本的其余部分在哪里?您想让它显示“Subnet:c:\t2\AD Computer Scripts
”?从Add Member
语句中删除-PassThru
,一如既往地感谢您的帮助。这就解决了问题。@JRN添加了一个正确的答案