Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试从powershell脚本捕获IP,改为获取System.String[]_Powershell_Csv - Fatal编程技术网

尝试从powershell脚本捕获IP,改为获取System.String[]

尝试从powershell脚本捕获IP,改为获取System.String[],powershell,csv,Powershell,Csv,我正在尝试使用以下脚本将计算机的IPAddress、MACAddress和DefaultIPGateway信息从Win32_NetworkAdapterConfiguration对象拉入名为NetworkAdapterConfiguration.CSV的导出CSV文件: $StrComputer = $env:computername $NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer $NetAdCo

我正在尝试使用以下脚本将计算机的IPAddress、MACAddress和DefaultIPGateway信息从Win32_NetworkAdapterConfiguration对象拉入名为NetworkAdapterConfiguration.CSV的导出CSV文件:

$StrComputer = $env:computername
$NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer
$NetAdConfig | Select-Object IPAddress,MACAddress,DefaultIPGateway | Export-Csv -Path C:\CSVFolder\NetworkAdapterConfiguration.csv -Encoding ascii -NoTypeInformation

当我查看此CSV时,我得到“System.String[]”,其中应显示IP和DefaultIPGateway值。我假设这些信息被表示为一个数组,这就是我看到System.String[]视图的原因,但我对Powershell没有什么经验。非常感谢您的帮助、建议和参考。

IPAddress和DefaultIPGateway属性是数组。如果您确定您的计算机只有一个IP地址和默认网关,则可以执行以下操作:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
  new-object PSObject -property @{
    "Computer" = $computer
    "MACAddress" = $_.MACAddress
    "IPAddress" = $_.IPAddress[0]
    "DefaultIPGateway" = $_.DefaultIPGateway[0]
  } | select-object Computer,MACAddress,IPAddress,DefaultIPGateway
}
下面是使用
选择对象的另一种方法:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
    $_ | select-object `
      @{Name="ComputerName";     Expression={$_.__SERVER}},
      @{Name="MACAddress";       Expression={$_.MACAddress}},
      @{Name="IPAddress";        Expression={$_.IPAddress[0]}},
      @{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}

IPAddress和DefaultIPGateway属性是数组。如果您确定您的计算机只有一个IP地址和默认网关,则可以执行以下操作:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
  new-object PSObject -property @{
    "Computer" = $computer
    "MACAddress" = $_.MACAddress
    "IPAddress" = $_.IPAddress[0]
    "DefaultIPGateway" = $_.DefaultIPGateway[0]
  } | select-object Computer,MACAddress,IPAddress,DefaultIPGateway
}
下面是使用
选择对象的另一种方法:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
    $_ | select-object `
      @{Name="ComputerName";     Expression={$_.__SERVER}},
      @{Name="MACAddress";       Expression={$_.MACAddress}},
      @{Name="IPAddress";        Expression={$_.IPAddress[0]}},
      @{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}

IPAddress和DefaultIPGateway属性是数组。如果您确定您的计算机只有一个IP地址和默认网关,则可以执行以下操作:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
  new-object PSObject -property @{
    "Computer" = $computer
    "MACAddress" = $_.MACAddress
    "IPAddress" = $_.IPAddress[0]
    "DefaultIPGateway" = $_.DefaultIPGateway[0]
  } | select-object Computer,MACAddress,IPAddress,DefaultIPGateway
}
下面是使用
选择对象的另一种方法:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
    $_ | select-object `
      @{Name="ComputerName";     Expression={$_.__SERVER}},
      @{Name="MACAddress";       Expression={$_.MACAddress}},
      @{Name="IPAddress";        Expression={$_.IPAddress[0]}},
      @{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}

IPAddress和DefaultIPGateway属性是数组。如果您确定您的计算机只有一个IP地址和默认网关,则可以执行以下操作:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
  new-object PSObject -property @{
    "Computer" = $computer
    "MACAddress" = $_.MACAddress
    "IPAddress" = $_.IPAddress[0]
    "DefaultIPGateway" = $_.DefaultIPGateway[0]
  } | select-object Computer,MACAddress,IPAddress,DefaultIPGateway
}
下面是使用
选择对象的另一种方法:

$computer = $ENV:COMPUTERNAME
get-wmiobject Win32_NetworkAdapterConfiguration -filter "IPEnabled=TRUE" -computername $computer | foreach-object {
    $_ | select-object `
      @{Name="ComputerName";     Expression={$_.__SERVER}},
      @{Name="MACAddress";       Expression={$_.MACAddress}},
      @{Name="IPAddress";        Expression={$_.IPAddress[0]}},
      @{Name="DefaultIPGateway"; Expression={$_.DefaultIPGateway[0]}}
}

我编写了一个调用的函数,它可以帮助删除您看到的字符串[]问题。您可以这样做,将数组扩展为更可读的属性

$StrComputer = $env:computername
$NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer
$NetAdConfig | Select-Object IPAddress,MACAddress,DefaultIPGateway |
Convert-OutputForCSV | 
Export-Csv -Path C:\CSVFolder\NetworkAdapterConfiguration.csv -Encoding ascii -NoTypeInformation

我编写了一个调用的函数,它可以帮助删除您看到的字符串[]问题。您可以这样做,将数组扩展为更可读的属性

$StrComputer = $env:computername
$NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer
$NetAdConfig | Select-Object IPAddress,MACAddress,DefaultIPGateway |
Convert-OutputForCSV | 
Export-Csv -Path C:\CSVFolder\NetworkAdapterConfiguration.csv -Encoding ascii -NoTypeInformation

我编写了一个调用的函数,它可以帮助删除您看到的字符串[]问题。您可以这样做,将数组扩展为更可读的属性

$StrComputer = $env:computername
$NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer
$NetAdConfig | Select-Object IPAddress,MACAddress,DefaultIPGateway |
Convert-OutputForCSV | 
Export-Csv -Path C:\CSVFolder\NetworkAdapterConfiguration.csv -Encoding ascii -NoTypeInformation

我编写了一个调用的函数,它可以帮助删除您看到的字符串[]问题。您可以这样做,将数组扩展为更可读的属性

$StrComputer = $env:computername
$NetAdConfig = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer
$NetAdConfig | Select-Object IPAddress,MACAddress,DefaultIPGateway |
Convert-OutputForCSV | 
Export-Csv -Path C:\CSVFolder\NetworkAdapterConfiguration.csv -Encoding ascii -NoTypeInformation