Artikel mit Tag Scripts-Code Schnipsel + top
Verwandte Tags
Keine verwandten Tags gefunden.
Es gibt immer wieder Benutzer die nicht verstehen das Sie erst in VPN eingewählt sein müssen um Anwendungen aus dem Firmennetz zu starten. Um dieses Problem etwas zu mildern hab ich ein kleines Programm geschrieben das es den Benutzer noch einfacher machen soll.
Zur Benutzung des Programmes gibts nicht viel zu sagen , es wird überprüft ob eine IP oder ein Hostname erreichbar ist , ist dies nicht der Fall wird der VPN Client gestartet. Nach dem erfolgreichen Einwählen wird die Anwendung aus dem internen Netz gestartet.
Die Konfigurationsdatei enthällt folgende Parameter :
Server="IP ODER HOSTNAME"
VpnClient="PFAD ZUM VPN CLIENT"
AppToStart="ANWENDUNG DIE GESTARTET WERDEN SOLL"
CntPi=1
MaxTry=3
CntPi=1
Count Ping wie oft soll der Server gepingt werden um eine Verbindung zu diesem zu überprüfen , default ist hier 1 bei schlechten Verbindungen kann dieser Wert erhöht werden. Allerdings wird dann auch mehr Zeit benötigt
MaxTry=3
Wie oft soll die Schleife durchlaufen werden bevor die Meldung ausgegeben wird das keine Verbindung aufgebaut werden kann.
Download VpnApp.exe
Source Code VpnApp.exe
Das Icon wurde von
Sergio Sánchez López entwickelt
Problem :
Man möchte eine Übersicht über alle im AD vorhandenen Rechner mit Betriebsystem und Servicepack
Lösung :
Dieses Skript exportiert alle Rechner mit OS und SP in eine Textdatei die einfach in Excel importiert werden kann.
$ldapSearcher = new-object directoryservices.directorysearcher;
$ldapSearcher.filter = "(objectclass=computer)";
$computers = $ldapSearcher.findall();
$pcs = "Name,Os,SP";
foreach ($c in $computers) {
$pc.Name=$c.properties["cn"];
$pc.OS=$c.properties["operatingsystem"];
$pc.SP=$c.properties["operatingsystemservicepack"];
$pcs = $pcs + "`r`n" + $pc.Name + "," + $pc.OS + "," + $pc.SP;
}
echo $pcs | Out-File C:\TEMP\Rechner.txt -encoding ASCII
Der Pfad kann einfach abgeändert werden
C:\TEMP\Rechner.txt durch den Wunschpfad ersetzen.
Es gibt natürlich auch andere Möglichkeiten :
Nils Kaczenski hat einige andere Varianten auf faq-o-matic.net vorgestellt
Meine Variante ist eine leicht abgewandelte Form des von Bernd Eckenfels erstellten Skripts
CreateBackup.exe erstellt ein Backup eines Ordner und zippt die Zieldatei nach einem eingestellten Muster
Hilfe zu CreateBackup.exe
/H Zeigt diese Hilfe an
/Q: Definiert die Quelle der Dateien
/Z: Definiert das Ziel des Backups
/N: Definiert das Muster des Dateinamens
/N:DT DT steht für DateTime (Standard)
/N:D D steht für Datum
Beispiele :
Erstellt eine Backupdatei mit dem Namen TagMonatJahr_StundeMinuteSekunde.zip
CreateBackup.exe /Q:"C:\Quelle Test" /Z:C:\test /N:DT
Erstellt eine Backupdatei mit dem Namen TagMonatJahr.zip
CreateBackup.exe /Q:C:\Quelle /Z:C:\test /N:D
Erstellt von Christopher Pope | NO WARRANTY !! | Freeware
Download :
CreateBackup.exe
Source Code :
nur für registrierte Mitglieder
Problem :
Sie möchten über WMI die installierte Software ermitteln , die hierzu gehörige Klasse Win32_Product läuft allerdings in den Fehler ( 80041001 ) , die Lösung hierzu ist ein Patch von Microsoft den man allerdings direkt anfordern muss. Das Problem selbst ist bei Windows XP und Windows Server 2003 bekannt.
Lösung :
Installieren des von Microsoft bereitgestellten Patches für das jeweilige System.
Download des Patches für Windows Server 2003 :
http://support.microsoft.com/kb/972189
Download des Patches für Windows XP :
http://support.microsoft.com/kb/970553
WMI Win32_Product Hotfix für Windows XP
Problem :
Wenn man ein VBS Skript schreibt und Meldungen ausgeben möchte stehen einem mehrere Wege zur Verfügung die gängigsten sind eine MsgBox und WScript.Echo das Echo wird meistens verwendet wenn das Skript über cscript.exe gestartet wird , startet man es dann mit wscript.exe bekommt man für jede Zeile die ein Echo enthällt eine gesonderte Messagebox (MsgBox)
Lösung :
Ich hab hier eine kleine Funktion geschrieben die ermittelt über welchen Interpreter wscript / cscript das Skript gestartet wurde und die Meldung anpasst.
Function ShowMessage(MSG,Titel)
Dim StrScriptInt : StrScriptInt = LCase(WScript.FullName)
' --- Check Interpreter
If Right(StrScriptInt,11) = "wscript.exe" Then
MsgBox MSG,vbOKOnly + vbInformation,Titel
Else
WScript.Echo Titel & "--------------" & vbCrLf & MSG & vbCrLf
End If
End Function
Problem :
Der Name des Druckservers hat sich verändert und soll jetzt automatisch beim anmelden der user in den verbundenen Drucker korrigiert werden.
Getestet mit Win 2000 / XP / 7
Lösung :
Ich hab mich ran gesetzt und eine neue Version ohne speichern auf File System Ebene geschrieben.
Hier die möglichen Parameter :
-o:[Servername] or /o:[Servername] = old print server
-n:[Servername] or /n:[Servername] = new print server
-l:[Logfile] or /l:[Logfile] = create an Logfile (path:filename)
-? or /? = shows this help
replace [Servername] with the hostname / ip-adress without [ and ]
Beispielaufruf sieht dann so aus :
Move_Printer.exe -o:ALTSERVER -n:NEUSERVER -l:C:\Logfile.txt
Download Tool :
Move_Printer.exe (freier Download)
Hier der download des Source Codes :
Source Code (nur für registrierte Mitglieder)