2012-01-24 3 views
-1

나중에 가져 오기 위해 라이브 어댑터의 내용 만 CSV 파일로 덤프하려고합니다.powershell ip address csv 파일

문제는 $ _을 사용하는 것이 었습니다. 이하.

$colNicConfigs = Get-WMIObject Win32_NetworkAdapterConfiguration | where { $_.IPEnabled -eq "TRUE" } 

#loop over each adapter 
foreach ($objNicConfig in $colNicConfigs) 
{ 
$objnic=Get-WMIObject Win32_NetworkAdapter | where {$_.deviceID -eq "$objNicConfig.Index" } 
#$strname=$objnicconfig.description.split(":")[0] 
#replace strname above when testing against actual server since no dot1q defined on my wks 
$strname="MGMT:Something" 
$connid=$_.NetworkConnectionID 
$ipaddr=$_.IPAddress(0) 
$ipsm=$_.IPSubnet(0) 
$dg=$_.DefaultIPGateway 

} 
# create dictionary entries 
$report = @() 
$report += New-Object psobject -Property @{Name=$strname;ConnID=$connid;IP=$ipaddr;SM=$ipsm;DG=$dg} 
$report | export-csv .\nic.csv 
+0

어떤 부품이 고장입니까? 어떤 오류가 발생하고 있습니까? PowerGUI 스크립트 편집기 또는 ISE에 넣고 한 줄씩 디버그하십시오. –

+0

작동하지 않는 것이 무엇인지 구체적으로 설명하면 더 나은 대답을 얻을 수 있습니다. 당신이 $ _ 대신에 $ objNic을 사용하여 NIC에 관한 정보를 얻고 싶다고 의심하지만, []가 PS의 배열 인덱서입니다. – EBGreen

답변

1

귀하의 초기 문제는 foreach 루프 내에서 "$ 밑줄"의 사용이다. $objNicConfig의 속성을 참조하려면 "$ 밑줄"대신 해당 속성을 사용합니다. 따라서 $connid=$_.networkConnectionID 대신 $connid=$objNicConfig.networkConnectionID

도 사용할 수 있습니다. 또한 은 속성 인 메소드가 아니므로 (0)을 삭제하면 쓰기 정보가 반환됩니다. NIC에 IP가 여러 개있는 경우 내 컴퓨터가 표시하지 않는 방식으로 표시 할 수 없습니다. 테스트하지는 않습니다.


$colNicConfigs = Get-WMIObject Win32_NetworkAdapterConfiguration | where { $_.IPEnabled -eq "TRUE" } 

foreach ($objNicConfig in $colNicConfigs) 
{ 
    foreach($objnic in (gwmi win32_networkadapter | where {$_.DeviceID -eq $objNicConfig.Index})) 
    { 
     $strName = "MGMT:Something" 
     $objNicConfig.NetworkConnectionID 
     $objNicConfig.IpAddress 
     $objNic.IPSubnet 
     $objNicConfig.DefaultIPGateway 
    } 
} 

위의 코드는 내가 반환하는 데 사용 것입니다 : 내가 볼

다른 일들이 당신이 그렇게 뭔가처럼 ... 모두 WMI 네임 스페이스를 참조하기 위해 거기에 둥지에 다른 foreach 루프를해야 할 것입니다 내 컴퓨터의 NIC에 관한 정보.

이제 "사전 항목"섹션을 참조하십시오. foreach 루프 내의 변수를 psobject을 추가하는 방식으로 참조 할 수 없습니다. 루프 코드 foreach 안에있는 마지막 것을 캡처 할 것입니다. foreach 루프의 정보를 먼저 수집 한 다음 스크립트에서 나중에 사용하려면 hash tables을 보시기 바랍니다.

+0

이렇게하면 모든 것이 정리됩니다. – rismoney