簡體   English   中英

Powershell訪問數據庫,無法獲取IP地址

[英]Powershell to Access Database, can't get IPaddress

我正在制作一個具有訪問權限的清單PS腳本,一切正常,直到進入代碼的網絡部分為止。 由於某些原因,我必須忽略或者只是不知道我無法獲取要在數據庫中填充的字段。 有些人會喜歡網卡和device_name。 但是,當我檢查數據庫的空白時,諸如IPaddress,子網掩碼,默認網關等字段將不會返回任何值。 我很困惑,需要一些指導,感謝您的幫助! 謝謝!

這是我的網絡功能的一個片段:

Function Update-Network {
"Updating Network Info"
foreach ($strComputer in $colComputers){
        $NetItems = gwmi Win32_NetworkAdapterConfiguration -Comp $StrComputer | where{$_.IPEnabled -eq "True"}
    }
foreach ($objItem in $NetItems){
        $RecordSet.AddNew() 
        $RecordSet.Fields.Item("Device_Name") = $StrComputer
        $RecordSet.Fields.Item("Network_Card") = $objItem.Caption+" (enabled)"
        $RecordSet.Fields.Item("DHCP_Enabled") = $objItem.DHCPEnabled
        $RecordSet.Fields.Item("IP_Address") = $objItem.IPAddress
        $RecordSet.Fields.Item("Subnet_Mask") = $objItem.IPSubnet
        $RecordSet.Fields.Item("Default_Gateway") = $objItem.DefaultIPGateway
        $RecordSet.Fields.Item("DNS_Servers") = $objItem.DNSServerSearchOrder
        $RecordSet.Fields.Item("DNS_Reg") = $objItem.FullDNSRegistrationEnabled
        $RecordSet.Fields.Item("Primary_WINS") = $objItem.WINSPrimaryServer
        $RecordSet.Fields.Item("Secondary_WINS") = $objItem.WINSSecondaryServer
        $RecordSet.Fields.Item("WINS_Lookup") = $objItem.WINSEnableLMHostsLookup
        $RecordSet.Update()
    }
} #End Update-Network

當我使用您的gwmi命令時, IPAddress是一個數組。 我建議將其明確地改成字符串。 嘗試使用:

$RecordSet.Fields.Item("IP_Address") = ($objItem.IPAddress -join ',')

注意,您可能想在可能包含數組的任何字段上執行此操作; IP地址,IP子網等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM