Hej Hej,
ich habe mal wieder ein Problem.
Ich habe ein kleines Tool gemacht was mir beim Support hilft, in dem es dem Anwender gewisse Daten zeigt die er mir am Telefon durchsagen kann. Wenn nun doch eine Fernwartung nötig ist kann er denn Teamviewer starten über einen Button oder das Programm beenden. Nun ist gewünscht das ein anderes Tool eingebunden werden soll (Druckerverwaltung.exe) über einen weiteren Button. Gesagt getan. Klappt auch alles soweit. Nun möchte ich nicht für jeden Standort eine eigene .exe machen sondern mit mehr Variablen arbeiten.
Das Programm Druckerverwalten liegt im Netlogon und ist bis auf dem Namen des Domain Controllers identisch.
#include <GUIConstants.au3>
;##################################
; Variables
;##################################
$TVIDW32 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version5.1","ClientID") ;ließt die Teamviewer ID aus der Registry 32bit(getestet Version 5.1 unter Windows 7 Pro)
$TVIDW64 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version5.1","ClientID") ;ließt die Teamviewer ID aus der Registry 64bit(getestet Version 5.1 unter Windows 8.1 Pro)
$Login = @UserName ;Anmeldename
$Hostname = @LogonDomain ;PC Name
$IP = @IPAddress1 ;IP Adresse
$OS = @OSVersion ;Betriebssystem
$AR = @OSArch ;32bit oder 64 Bit Betriebssystem
$SP = @OSServicePack ;Service Pack vom Betriebssystem
$LS = @LogonServer ;Domain Controller
; Inhalte für TXT
$NewName = $hostname ;Vari. für Umbenennung der TXT
$wrtxt = "Username: " & $Login & @CRLF & "Hostname: " & $Hostname & @CRLF & "IP: " & $IP & @CRLF & "Betriebssystem: " & $OS & @CRLF & "Archi: " & $AR & @CRLF & "ServicePack: " & $SP & @CRLF ;Inhalt TXT
if $AR="x64" Then ;Auslesen der Teamviewer ID inkl. Abfrage 64Bit oder 32Bit Betriebsystem
$tv = $TVIDW64
Else
$tv = $TVIDW32
EndIf
#Region ### Start GUI section ### PCInfo ;Create GUI Start
$GUI = GUICreate("PCInfo", 550, 500, 750, 250)
GUISetCursor (2)
GUISetFont(16, 400, 0, "Century Schoolbook")
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("Start Teamviewer", 10, 460, 200, 30, 0) ;Button 1 TeamViewer 5.1 Staten
GUICtrlSetFont(-1, 16, 400, 0, "Consolas")
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUICtrlSetColor(-1, 0xFFFFFF)
$Button2 = GUICtrlCreateButton("Ende", 440, 460, 100, 30, 0) ;Button 2 Programm beenden mit Verabschiedungs Fenster
GUICtrlSetFont(-1, 16, 400, 0, "Consolas")
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUICtrlSetColor(-1, 0xFFFFFF)
$Button3 = GUICtrlCreateButton("Drucker Zuordnen", 225, 460, 200, 30, 0);Button 3 Druckerverwaltung öffnen
GUICtrlSetFont(-1, 16, 400, 0, "Consolas")
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label1 = GUICtrlCreateLabel("Anmeldename:", 15, 16, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label11 = GUICtrlCreateLabel($Login, 190, 16, 160, 29) ;Zeigt denn Anmeldenamen an
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label2 = GUICtrlCreateLabel("PC Name:", 15, 56, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label21 = GUICtrlCreateLabel($Hostname, 190, 56, 160, 29) ;Zeigt denn Hostname an
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label3 = GUICtrlCreateLabel("IP Adresse:", 15, 96, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label31 = GUICtrlCreateLabel($IP, 190, 96, 160, 29) ;Zeigt die erste IP Adresse an
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label4 = GUICtrlCreateLabel("Betriebssystem:", 15, 136, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label41 = GUICtrlCreateLabel($os, 190, 136, 160, 29) ;Zeigt das Installierte Betriebssysteman an
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label5 = GUICtrlCreateLabel("TeamviewerID:", 15, 176, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label51 = GUICtrlCreateLabel($tv, 190, 176, 160, 29) ;Zeigt die TeamviewerID an für Windows 7(nur mit Version 5.1 getestet)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label5 = GUICtrlCreateLabel("Angemeldet an:", 15, 216, 160, 29)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
$Label51 = GUICtrlCreateLabel($ls, 190, 216, 160, 29) ;Zeigt die TeamviewerID an für Windows 7(nur mit Version 5.1 getestet)
GUICtrlSetFont(-1, 16, 400, 0, "Century Schoolbook")
GUICtrlSetColor(-1, 0x3399FF)
GUISetState(@SW_SHOW)
#EndRegion ### END GUI section ### ;Create GUI End
While 1 ;Funktionserstellung bzw. -bennennung Buttons
$1MSGB = GUIGetMsg()
Switch $1MSGB
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_TVStart ()
Case $Button2
_Ende ()
Case $Button3
_Printertool ()
EndSwitch
WEnd
Func _TVStart () ;Funktionsdefinition für denn linken Button (1)
MsgBox(0, "Danke", "Teamviewer wird nun gestartet")
Run("C:\Program Files\TeamViewer\Version5\Teamviewer.exe") ;startet Teamviewer unter Windows 32bit(nur mit Version 5.1 getestet)
Run("C:\Program Files (x86)\TeamViewer\Version5\Teamviewer.exe") ;startet Teamviewer unter Windows 64bit(nur mit Version 5.1 getestet)
Exit
EndFunc
Func _Printertool () ;Funktionsdefinition für denn mittleren Button (3)
MsgBox(0, "Danke", "DR Start")
ShellExecute ("\\dc1\NETLOGON\Druckert\dr.lnk")
Exit
EndFunc
Func _Ende () ;Funktionsdefinition für denn rechten Button (2)
MsgBox(0, "Vielen Dank", "Wir wünschen Ihnen einen schönen Tag")
If FileExists ("C:\Support\Konfig\*.txt") Then FileDelete ("C:\Support\Konfig\*.txt") ;löscht alle beststehenden Text dateien im Ordner
If Not FileExists("C:\Support\Konfig") Then DirCreate("C:\Support\Konfig") ;Falls Ordner nicht vorhanden ist wird dieser Erstellt
FileWrite("C:\Support\Konfig\" & $NewName & ".txt", $wrtxt)
Exit
EndFunc
Alles anzeigen
jetzt geht es speziel um Zeile 111 hier würde ich gerne das Programm mit aus einen Variablen Pfad aufrufen, Sinngemäß: Shellexecute ("@LogonServer\netlogon\druckert\dr.Ink") nur geht das nicht wie ich mir das Vorstelle. Warum ich das machen möchte. Die Strucktur in den Standorten ist Identisch nur nicht der Servername doch ist es da halt der Einzige logonserver.
Ein einem weiterem Schritt sollen später darüber aus Mails an das Ticketsystem geschickt werden daher wird auch jetzt schon eine TXT generiert (falls es jemanden aufgefallen ist).
Ich danke schon mal für die Hilfe
LG
Pre