Что нового

[Сеть, интернет] Как узнать имя РАБОЧЕЙ ГРУППЫ?

akoulev

Новичок
Сообщения
166
Репутация
2
Как (максимально просто) узнать имя РАБОЧЕЙ ГРУППЫ? С именем компа — способов 6 нашёл; про имя группы... чуть поменьше, и ни один не работает.
Например, такой кусочек кода:
Код:
#include <Array.au3> ;only for _ArrayDisplay()

$avNetworkConnections = _GetNetwork_Connections()

_ArrayDisplay($avNetworkConnections)

Func _GetNetwork_Connections()
    Local Const $NETWORK_CONNECTIONS = 49
    Local $objShell = ObjCreate("Shell.Application")
    Local $objFolder = $objShell.Namespace($NETWORK_CONNECTIONS)
    Local $objFolderItem = $objFolder.Self
    Local $aRetArr[2] = [1, $objFolderItem.Path]
    Local $ColItems = $objFolder.Items
    Local $iUbound = 0

    For $objItem In $ColItems
        $iUbound = UBound($aRetArr)
        ReDim $aRetArr[$iUbound+1]
        $aRetArr[$iUbound] = $objItem.Name
    Next

    $aRetArr[0] =$iUbound
    Return $


На этом кусочке совершенно не настаиваю. Забавно, что по ссылке с этим кодом, все активно благодарят автора — а у меня это не работает. Ругается на последнюю строчку. Ай нид хелп, плиз.

Есть и такой код (http://forum.oszone.net/thread-170684.html):
Код:
#include <CompInfo.au3>

Dim $aSystemInfo
_ComputerGetSystem($aSystemInfo)
MsgBox(0, "Рабочая группа", $aSystemInfo[1][13])

, но вот файла CompInfo.au3 у меня нет. Поиски выводят на некий файл с требуемой версией AutoIt: 3.3.0.0. Что-то страшновато (напрасно?) вводить его в AutoIt с Version: 3.3.10.2; да и, прямо скажу, не хотелось бы "довешивать" чего-то такое, что не предустановлено в релизе: проблемами портирования чревато, — а зачем нам лишние неприятности? ;)
К тому же, файлик, няп, 2007-го года: с тех пор ну просто НЕ МОГЛО не появиться чего-то более "кошерного". :smile:


--------------------
Готово!

Код:
#Include <Misc.au3>

AutoItSetOption("MustDeclareVars", 1)

Local $oSWbemLocator = ObjCreate("WbemScripting.SWbemLocator")
Local $oSWbemObjectEx

For $oSWbemObjectEx In $oSWbemLocator.ConnectServer(".", "root\cimv2").ExecQuery( "Select * from Win32_ComputerSystem")
    ; ConsoleWrite(_Iif($oSWbemObjectEx.PartOfDomain, "Computer Domain: ", "Workgroup: ") & $oSWbemObjectEx.Domain & @CRLF)
    MsgBox(0, "" ,_Iif($oSWbemObjectEx.PartOfDomain, "Computer Domain: ", "Workgroup: ") & $oSWbemObjectEx.Domain & @CRLF)
Next

Exit(0)


Сам справился. Почти, спасибо Iska (по той же ссылке)!

Тему -пока- не закрываю — авось, кто-нть посмеётся и покажет однострочную команду, что-то типа @WORKGROUP_INDICATE. :smile:
 
Верх