Computernamen rausfinden.

  • Hallo liebe Autoitler^^


    ich würde, wie der Titel bereits erklärt gerne wissen wie man mit einem Script den namen des Computers herausfindet da ich mir diesen per Mail zusenden lassen möchte.
    Keine Angst es geht um keinerlei Schadsoftware ich verkaufe lediglich ein Programm und möchte vermeiden dass es weitergeschickt wird, in der Email steht dann IP Computer Name und Programm ID^^.

    Hoffe es gibt hier jemanden der mir helfen kann.

  • Das mit dem @Computername geht nicht wenn andre die compiled .exe ausführen krieg ich ne mail geschcikt in der mein eignenr Computername steht.
    Würde gerne Wissen wie ich die MAC Adresse oder den PC des andren und di IP des andren mir zuschicken lassen kann.

  • Das mit dem @Computername geht nicht wenn andre die compiled .exe ausführen krieg ich ne mail geschcikt in der mein eignenr Computername steht.
    Würde gerne Wissen wie ich die MAC Adresse oder den PC des andren und di IP des andren mir zuschicken lassen kann.

    das mit @Computername kann ich mir eigentlich nicht vorstellen, kannst du dein Skript(-Ausschnitt) posten wie du die Email-Funktion aufrufst? Da sich IP-Adressen aber bei DHCP ja auch täglich ändern, ist die MAC-Adresse der bessere Weg. Du kannst doch hiermit die Ausgabe von IPConfig auswerten:

    [autoit]

    #include <array.au3>
    #include <file.au3>
    #include <Process.au3>
    _RunDOS("ipconfig /all > " & @ScriptDir & "\ipconfig.txt")
    Dim $aResult[1]
    _FileReadToArray(@ScriptDir & "\ipconfig.txt",$aResult)
    _ArrayDisplay($aResult)

    [/autoit]

    mfg (Ato)Bert

  • So müsste man den Computernamen auf jedem Pc erhalten :

    Spoiler anzeigen
    [autoit]

    $result = ""
    $pid = Run(@comspec & " /k HOSTNAME","",@SW_HIDE,6)
    While 1
    $result &= StdOutRead($pid)
    If @error Then ExitLoop
    sleep(10)
    Wend
    $result=StringRegExpReplace($result, "[\w:\\]*>", "")
    MsgBox(0,"","Hostname: "&$result)

    [/autoit]
  • Das wäre eine Möglichkeit um die MAC über Netzwerk auszulesen.
    Natürlich muss die Firewall das zulassen ;)

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.3.6.1
    Author: Mahagon

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    This UDF is made for using the Windows Management Instrumentation in AutoIt V.3

    [/autoit] [autoit][/autoit] [autoit]

    License:

    [/autoit] [autoit][/autoit] [autoit]

    The content of this work is licensed under Creative Commons license.
    You are allowed to use and change it as u wish as long as you mention me as the Author.

    [/autoit] [autoit][/autoit] [autoit]

    Der Inhalt dieses Werkes ist lizensiert unter der Creative Commons Lizenz.
    Sie dürfen es nutzen und verändert solange ich als Autor genannt werde.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Local Const $wbemFlagReturnImmediately = 0x10
    Local Const $wbemFlagForwardOnly = 0x20

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _WinWMI_GetMAC(Const $sComputer = "127.0.0.1")
    Local $oWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $sComputer & "\root\CIMV2")
    If IsObj($oWMI) = 0 Then Return SetError(-1, @error, 0)
    Local $oList = $oWMI.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($oList) = 0 Then Return SetError(-2, @error, 0)
    Local $sReturn = ""
    For $oItem In $oList
    With $oItem
    $sReturn &= .MACAddress & "|"
    EndWith
    Next
    Return StringSplit(StringTrimLeft($sReturn,1), "|", 2)
    EndFunc ;==>_WinWMI_GetMAC

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Local $aReturn = _WinWMI_GetMAC("localhost")

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($aReturn) - 1
    ConsoleWrite($aReturn[$i] & @CRLF)
    Next

    [/autoit]

    21 is only half the truth.