1150987870 发表于 2016-7-13 21:30:05

求大神帮忙把这个代码转换成autoit代码

本帖最后由 1150987870 于 2016-7-14 16:30 编辑

Function Get-NicBusFunctionID {
$adapters = get-wmiobject win32_networkadapter -filter "netenabled=true"

foreach ($adapter in $adapters) {
      
      $deviceId = $adapter.PnPDeviceID
      $locationInfo = (get-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Enum\$deviceID" -name locationinformation).locationINformation
      $businfo = Resolve-PCIBusInfo -locationInfo $locationinfo
         
      new-object psobject -property @{
            "Name"      = $adapter.NetConnectionID;
            "MacAddress"= $adapter.MacAddress
            "Index"       = $adapter.Index;
            "PCIBusID"      = $businfo.BusID;
            "PCIDeviceID"   = $businfo.DeviceID;
            "PCIFunctionID" = $businfo.FunctionID
      }
}

}

nmgwddj 发表于 2016-7-13 21:30:06

本帖最后由 nmgwddj 于 2016-7-14 10:07 编辑

下次找人帮忙把代码复制全了可以吗?另外遇到问题自己尝试一下,我从未使用过WMI,也不知道它是个什么东西,但就今天看到你的问题,用了不到 40 分钟的时间写出下面的代码。我想这不是难与不难的问题,而是用心不用心的问题。我相信论坛不欢迎只会伸手的人。http://www.autoitx.com/forum.php?mod=viewthread&tid=477&highlight=WMI

https://social.technet.microsoft.com/Forums/scriptcenter/en-US/dc812604-a889-4472-8a0e-b86326fe879d/name-network-interfaces-by-pci-bus-id?forum=ITCG


#include <Array.au3>

$strComputer = '.'

$objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\CIMV2')

$objAdapters = $objWMIService.Execquery('Select * from Win32_NetworkAdapter Where NetEnabled=True')

For $object In $objAdapters
        $sPnPDeviceID = $object.PnPDeviceID
        $sLocationInfo = RegRead('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\' & $sPnPDeviceID, 'LocationInformation')
       
        Local $nIndex, $nDeviceID, $nFunctionID
        $sStringRep = StringRegExp($sLocationInfo, '.+(\d+),(\d+),(\d+)', 3)
        If @error Then
                $nIndex = 0
                $nDeviceID = 0
                $nFunctionID = 0
        Else
                $nIndex = $sStringRep
                $nDeviceID = $sStringRep
                $nFunctionID = $sStringRep
        EndIf
       
        Local $aBusInfo
        $aBusInfo = $object.NetConnectionID
        $aBusInfo = $object.MacAddress
        $aBusInfo = $object.Index
        $aBusInfo = $nIndex
        $aBusInfo = $nDeviceID
        $aBusInfo = $nFunctionID
       
        _ArrayDisplay($aBusInfo)
Next

nmgwddj 发表于 2016-7-14 10:11:17

本帖最后由 nmgwddj 于 2016-7-14 10:19 编辑

你最近发的两篇帖子,无人回复,全部是求xx帮忙xxx,你不觉得这样做不太好吗?至少抛出你的思路,大家一起讨论,形成解决方案,这样才有学习的机会。不是拿出一部分代码转过去用就行了,这没任何意义。
论坛发帖标题要有助于后人搜索,你认为你的标题会有人搜索到吗?就算这个问题解决了,对你有意义了,对别人呢?有想过这些问题吗?我觉得这是在一个公共社区该有的最起码的认知。

1150987870 发表于 2016-7-14 11:15:21

嗯嗯,谢谢高手指点,你说的很对,我以后不会这样了,因为是新手,没有找到方法,所以比较急,就没太多注意到这个问题,不辜负大神的一番心意!

1150987870 发表于 2016-7-14 11:16:48

嗯嗯,谢谢高手指点,你说的很对,我以后不会这样了,因为是新手,没有找到方法,所以比较急,就没太多注意到这个问题,不辜负大神的一番心意!
页: [1]
查看完整版本: 求大神帮忙把这个代码转换成autoit代码