Dr_Mitch
Anmeldedatum: 30.10.2006 Beiträge: 6
|
Verfasst am: Di Okt 31, 2006 4:59 pm Titel: Remotedesktopverwaltung |
|
|
Hi Leute
Hab ein kleines Programm zur Verwaltung von Remotedesktopverbindungen erstellt:
RDV.ahk
| Code: | ; @ Mitch 2006
#SingleInstance,Force
StringTrimRight,applicationname,A_ScriptName,4
;Inifile definieren
InifileSettings=RDVSettings.ini
;Inifile ueberpruefen
IfNotExist,%InifileSettings%
{
MsgBox,16,Error,%InifileSettings% nicht vorhanden!`nProgramm wird beendet!
ExitApp
}
;Settings aus Inifile laden
Gosub IniSettingsladen
;Inifile laden
Gosub, Iniladen
;Menu laden
Gosub,TRAYMENU
;Gui laden
Gosub,GUI
Return
IniSettingsladen:
IniRead, Programmname, %InifileSettings%, Settings, Programmname
IniRead, Inifileeditor, %InifileSettings%, Settings, Inifileeditor
IniRead, InifileServers, %InifileSettings%, Settings, InifileServers
;Inifile ueberpruefen
IfNotExist,%InifileServers%
{
MsgBox,16,Error,%InifileServers% nicht vorhanden!`nBitte Settings in der INI Datei überprüfen!
Gosub Settings
ExitApp
}
return
Iniladen:
;Serverfile Daten ermitteln
FileRead, FileContent, %InifileServers%
Sections=
Loop, Parse, FileContent, `n, `r
{
if InStr(A_LoopField, "[")
{
StringReplace, Section, A_LoopField, [
StringReplace, Section, Section, ]
Sections = %Sections%%Section%|
}
}
Return
GUI:
Gui, Add, DropDownList, x16 y17 w210 h10 r30 Sort gLaenderSub vLaenderVar, %Sections%
Gui, Add, DropDownList, x16 y47 w210 h21 r30 Sort gStandortSub vStandortVar,
Gui, Add, ListBox, x16 y77 w210 h230 Sort gServerSub vServerVar,
Gui, Add, CheckBox, x16 y367 w210 h20 Checked vConsolenmodusVar, Consolenmodus
Gui, Add, Button, x66 y397 w110 h30 gVerbindenSub Default, Verbinden
Gui, Add, Edit, x16 y337 w210 h20 vServername WantReturn,
Gui, Add, Text, x16 y317 w210 h20 , Server/PC- Name
Gui, Show, x1411 y93 h442 w248, Remotedesktopverwaltung
GuiShowVar = 1
Return
TRAYMENU:
Menu, Tray, Click, 1
Menu, Tray, Icon, Shell32.dll, 165
Menu,Tray,NoStandard
Menu,Tray,DeleteAll
Menu,Tray,Add,%applicationname%,ABOUT
Menu,Tray, Add,
Menu,Tray,Add,Settings bearbeiten,Settings
Menu,Tray,Add,Server bearbeiten,Server
Menu,Tray,Add,Show Gui,GuiShow
Menu,Tray,Check,Show Gui
Menu,Tray, Add,
Menu,Tray, Add,Programm neu laden, Restart
Menu,Tray,Add,Exit,Exitprogramm
Menu,Tray,Default,Show Gui
Menu,Tray,Tip,%applicationname%
Return
LaenderSub:
GuiControlGet, LaenderVar
GuiControl,, StandortVar, |
GuiControl,, ServerVar, |
GuiControl,, ServerName,
loop, Read, %InifileServers%
{
if A_LoopReadLine contains [%LaenderVar%]
{
startWrite = 1
continue
}
if startWrite = 1
{
if A_LoopReadLine contains [
break
if A_LoopReadline contains `;
continue
Loop, parse, A_LoopReadLine, =
{
key = %A_LoopField%
allekeys:= (allekeys . key . "|")
break
}
}
}
GuiControl, , StandortVar, %allekeys%
allekeys=
startwrite=
Return
StandortSub:
GuiControlGet, StandortVar
GuiControl,, ServerVar, |
GuiControl,, ServerName,
IniRead, ServerVarDaten, %InifileServers%, %LaenderVar% , %StandortVar%
GuiControl,, ServerVar, %ServerVarDaten%
Return
ServerSub:
GuiControlGet, ServerVar
GuiControl,, ServerName,
GuiControl,, ServerName, %ServerVar%
Return
VerbindenSub:
GuiControlGet, ServerName
GuiControlGet, ConsolenmodusVar
IfEqual, ConsolenmodusVar, 1, Run, %Programmname% /console /v:%ServerName%
IfEqual, ConsolenmodusVar, 0, Run, %Programmname% /v:%ServerName%
Gui, Hide
Menu,Tray,ToggleCheck,Show Gui
GuiShowVar=0
Return
GuiShow:
If GuiShowVar=1
{
Gui, Hide
GuiShowVar=0
}
Else If GuiShowVar=0
{
Gui, Show
GuiShowVar = 1
}
Menu,Tray,ToggleCheck,Show Gui
Return
ABOUT:
about=by Mitch @2006`n
MsgBox,0,Remotedesktopverwaltung,%about%
about=
Return
GuiClose:
Gui, Hide
Menu,Tray,ToggleCheck,Show Gui
GuiShowVar=0
Return
Settings:
Run, %Inifileeditor% %InifileSettings%
Return
Server:
Run, %Inifileeditor% %InifileServers%
Return
Restart:
Reload
Exitprogramm:
Exitapp
|
Damit das Programm funktioniert benötigt man noch zwei Inifiles:
RDVSettings.ini:
| Code: | [Settings]
Programmname="C:\Programme\Remote Desktop\mstsc.exe /w:1024 /h:768"
Inifileeditor="C:\Programme\PSPad editor\PSPad.exe"
InifileServers=RDVServers.ini
|
sowie RDVServers.ini (siehe Settingsfile)
| Code: | [Land]
Standort=server1|server2|..
Standort2=server1|server2|..
[[Land2]
Standort=server1|server2|..
Standort2=server1|server2|..
|
Hoffe ich habe keinen Fehler eingebaut und jemand kann das Skript gut gebrauchen.
Verwalte derzeit ca. 50 Server mit dem Programm.
mfg
Mitch |
|