<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Hope This Helps - VBS / WSH</title>
    <link>http://hope-this-helps.de/serendipity/</link>
    <description>IT Tipps</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 1.6.2 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Robocopy - LOG Funktion - Umlaute Problem - XP010 und XP027</title>
    <link>http://hope-this-helps.de/serendipity/archives/382-Robocopy-LOG-Funktion-Umlaute-Problem-XP010-und-XP027.html</link>
            <category>Batch</category>
            <category>Clients</category>
            <category>Scripts + Code Schnipsel</category>
            <category>Server</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/382-Robocopy-LOG-Funktion-Umlaute-Problem-XP010-und-XP027.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=382</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=382</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;strong&gt;Problem :&lt;/strong&gt;&lt;br /&gt;
Wenn man ein Logfile von Robocopy erstellen lässt sind Umlaute nicht richtig kodiert, eine richtige Kodierung ist jedoch erforderlich wenn man das Logfile weiter verarbeiten möchte.&lt;br /&gt;
EDIT : Das selbe Problem ist mir jetzt auch bei DIR und TREE aufgefallen&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung :&lt;/strong&gt;&lt;br /&gt;
Bestimmt gibt es hier viele Wege um dieses Problem zu lösen ich habe micht mit dieser Funktion beholfen :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Function ReplaceSonder(Line)&lt;br /&gt;
&lt;br /&gt;
Line = Replace(Line,Chr(142),&quot;Ä&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(132),&quot;ä&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(154),&quot;Ü&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(129),&quot;ü&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(153),&quot;Ö&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(148),&quot;ö&quot;)&lt;br /&gt;
Line = Replace(Line,Chr(225),&quot;ß&quot;)&lt;br /&gt;
&lt;br /&gt;
ReplaceSonder = Line&lt;br /&gt;
End Function&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Sollten dennoch noch Zeichen in dem Logfile stehen die nicht richtig dargestellt werden kann der CharacterSet mit &lt;strong&gt;z.B. ASC(&quot;@&quot;)&lt;/strong&gt; ermittelt und die Function nach belieben erweitert werden.&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 13 Mar 2013 11:40:58 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/382-guid.html</guid>
    
</item>
<item>
    <title>Bilder auf Fileserver über VBS mit ImageMagick automatisch verkleinern</title>
    <link>http://hope-this-helps.de/serendipity/archives/372-Bilder-auf-Fileserver-ueber-VBS-mit-ImageMagick-automatisch-verkleinern.html</link>
            <category>Clients</category>
            <category>Scripts + Code Schnipsel</category>
            <category>Server</category>
            <category>VBA</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/372-Bilder-auf-Fileserver-ueber-VBS-mit-ImageMagick-automatisch-verkleinern.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=372</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=372</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;strong&gt;Problem :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Welcher Admin kennst das nicht , die Benutzer machen Bilder mit einer 12 MP Kamera und legen die Bilder auch in dieser Auflösung auf dem Fileserver ab. Sicherlich ist das in dem einen oder anderen Fall sinnvoll , jedoch nicht immer. In meinem Fall ist es nicht nötig die Bilder in der höchsten Auflösung zu speichern da diese weder ausgedruckt noch weiterverarbeitet werden. Um die Dateigröße von Anfang an auf ein erträgliches Maß zu reduzieren habe ich dieses Skript erstellt. Es verwendet &lt;a href=&quot;http://www.imagemagick.org&quot; title=&quot;Imagemagick&quot; target=&quot;_blank&quot;&gt;Imagemagick&lt;/a&gt; und benötigt eine Installation auf dem Rechner auf dem das Skript laufen soll. &lt;br /&gt;
Dieses Skript läuft bei mir einmal in der Woche um alle Bilder im Ordner und allen Unterordnern zu verkleinern. Es wird ein rekursiver Dateidurchlauf auf die definierte Erweiterung ausgeführt&lt;br /&gt;
&lt;br /&gt;
Dieses Skript stellt folgende Parameter bereit &lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;------------------------------------------------------------------------------------------&lt;br /&gt;
-q: = Quelle zum Startordner&lt;br /&gt;
-e: = Welche Datei Typen sollen konvertiert werden&lt;br /&gt;
-s: = Auflösung der Konvertierten Bilder&lt;br /&gt;
-j: = Qualität für die Output Bilder (JPG 1-100 , PNG 1-9)&lt;br /&gt;
-l: = Schreibt ein Logfile mit an den angegeben Ort&lt;br /&gt;
      wenn kein Wert übergeben wird , wird kein Logfile erzeugt&lt;br /&gt;
------------------------------------------------------------------------------------------&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Download :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.imagemagick.org/script/binary-releases.php#windows&quot; title=&quot;ImageMagick&quot; target=&quot;_blank&quot;&gt;ImageMagick&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://hope-this-helps.de/serendipity/uploads/Skripte/konvPic.vbs&quot; title=&quot;konvPic.vbs&quot; target=&quot;_blank&quot;&gt;konvPic.vbs&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Erklärung :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Um über ImageMagick zu konvertieren muss folgendes Object instanziert werden.&lt;br /&gt;
&lt;blockquote&gt;Dim ObjImg  : Set ObjImg = CreateObject(&quot;ImageMagickObject.MagickImage.1&quot;)&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Dies kann dann so angesprochen werden.&lt;br /&gt;
&lt;blockquote&gt;ObjImg.Convert QUELLDATEI , &quot;-resize&quot; , AUFLÖSUNG , &quot;-format&quot; , &quot;jpg&quot; , &quot;-quality&quot; , QUALITÄT , ZIELDATEI&lt;/blockquote&gt;&lt;br /&gt;
man kann auch anstelle von &lt;strong&gt;ObjImg.Convert&lt;/strong&gt; die Funktion &lt;strong&gt;ObjImg.Mogrify&lt;/strong&gt; verwenden. Der Unterschied zwischen .Convert und .Mogrify liegt darin das .Convert eine neue Datei anlegt und .Mogrify die vorhandene überschreibt.&lt;br /&gt;
&lt;br /&gt;
Sollte ein Fehler auftreten das das ActiveX Element nicht erstellt werden kann liegt das daran das entweder die falsche Imagemagick Version installiert ist oder das Skript über den Pfad &lt;strong&gt;C:\Windows\SysWOW64\cscript.exe&lt;/strong&gt; gestartet werden muss. 
    </content:encoded>

    <pubDate>Thu, 22 Nov 2012 16:20:41 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/372-guid.html</guid>
    <category>automatisiert</category>
<category>clients</category>
<category>imagemagick</category>
<category>jpg</category>
<category>konvertiern</category>
<category>scripts + code schnipsel</category>
<category>server</category>
<category>vba</category>
<category>vbs / wsh</category>
<category>verkleinern</category>
<category>windows</category>

</item>
<item>
    <title>VBS / WSH Funktion um Array zu füllen</title>
    <link>http://hope-this-helps.de/serendipity/archives/367-VBS-WSH-Funktion-um-Array-zu-fuellen.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/367-VBS-WSH-Funktion-um-Array-zu-fuellen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=367</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=367</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;strong&gt;Problem :&lt;/strong&gt;&lt;br /&gt;
Man möchte ein Array erstellen und das mehrmals im Skript mit einer ReDim Anweisung&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung :&lt;/strong&gt;&lt;br /&gt;
Um den ganzen Code nicht immer in die Länge zu ziehen hier eine Funktion&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Aufruf :&lt;/strong&gt;&lt;br /&gt;
Davor muss ein Array definiert sein dann kann man die Funktion mit einer Textdatei als Parameter starten.&lt;br /&gt;
Die Textdatei wird dann zeilenweise eingelesen und das Array wird erstellt.&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Dim TestArray : TestArray = Array()&lt;br /&gt;
TestArray = FillArray(Beispieldatei)&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;strong&gt;Funktion :&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Function FillArray(CFG)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;Dim ARRCnt : ARRCnt = 0&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;Dim ARR	   : ARR = Array()&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;If ObjFso.FileExists(CFG) Then&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Set Dummy = ObjFso.OpenTextFile(CFG)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Do Until Dummy.AtEndOfStream&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Zeile = Trim(Dummy.ReadLine)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;If Not Left(Zeile,1) = &quot;#&quot; Then&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ReDim Preserve ARR(UBound(ARR)+1)&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ARR(ARRCnt) = Zeile&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;ARRCnt = ARRCnt + 1&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;End If&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Loop&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;End If&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;FillArray = ARR&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Set Dummy = Nothing&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Erase ARR&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;End Function&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 17 Oct 2012 17:43:09 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/367-guid.html</guid>
    
</item>
<item>
    <title>Windows XP / 7 - VpnApp</title>
    <link>http://hope-this-helps.de/serendipity/archives/329-Windows-XP-7-VpnApp.html</link>
            <category>Clients</category>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/329-Windows-XP-7-VpnApp.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=329</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=329</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei enthällt folgende Parameter :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Server=&quot;IP ODER HOSTNAME&quot;&lt;br /&gt;
VpnClient=&quot;PFAD ZUM VPN CLIENT&quot;&lt;br /&gt;
AppToStart=&quot;ANWENDUNG DIE GESTARTET WERDEN SOLL&quot;&lt;br /&gt;
CntPi=1&lt;br /&gt;
MaxTry=3&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;CntPi=1&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;MaxTry=3&lt;/strong&gt;&lt;br /&gt;
Wie oft soll die Schleife durchlaufen werden bevor die Meldung ausgegeben wird das keine Verbindung aufgebaut werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://hope-this-helps.de/serendipity/uploads/Anwendungen/VpnApp.exe&quot; title=&quot;VpnApp.exe&quot; target=&quot;_blank&quot;&gt;Download VpnApp.exe&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://hope-this-helps.de/serendipity/index.php?serendipity[subpage]=Downloads&amp;thiscat=13&amp;file=61&quot; title=&quot;VpnApp Source Code&quot;&gt;Source Code VpnApp.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Das Icon wurde von &lt;a href=&quot;http://kde-look.org/usermanager/search.php?username=Sephiroth6779&quot; title=&quot;Ersteller Icon&quot; target=&quot;_blank&quot;&gt;Sergio Sánchez López&lt;/a&gt; entwickelt 
    </content:encoded>

    <pubDate>Thu, 09 Feb 2012 10:05:52 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/329-guid.html</guid>
    
</item>
<item>
    <title>Windows-Firewall: WMI für Firewall </title>
    <link>http://hope-this-helps.de/serendipity/archives/317-Windows-Firewall-WMI-fuer-Firewall.html</link>
            <category>Clients</category>
            <category>Server</category>
            <category>TCP/IP</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
            <category>WMI / Powershell</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/317-Windows-Firewall-WMI-fuer-Firewall.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=317</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=317</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;
Man möchte mittels WMI auf einen PC zugreifen wir jedoch von der Firewall blockiert.&lt;br /&gt;
Die Firewall-Konfiguration stellt den WMI-Dienst nicht zur Verfügung um diesen freizugeben.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung&lt;/strong&gt;&lt;br /&gt;
Die einfachste Möglichkeit die Freigabe zu aktivieren stellt der netsh-Befehl zur Verfügung.&lt;br /&gt;
Einfach in der Shell des Remote-Computers folgenden Befehl ausführen:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;netsh firewall set service RemoteAdmin enable&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Quelle: &lt;/strong&gt;&lt;a href=&quot;http://www.poweradmin.com/help/enableWMI.aspx&quot;&gt;poweradmin.com: Enable WMI (Windows Management Instrumentation)&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 12 Dec 2011 09:40:21 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/317-guid.html</guid>
    
</item>
<item>
    <title>CreateBackup.exe erstellt ein Backup eines Ordner</title>
    <link>http://hope-this-helps.de/serendipity/archives/302-CreateBackup.exe-erstellt-ein-Backup-eines-Ordner.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>Sonstiges</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/302-CreateBackup.exe-erstellt-ein-Backup-eines-Ordner.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=302</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=302</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    CreateBackup.exe erstellt ein Backup eines Ordner und zippt die Zieldatei nach einem eingestellten Muster&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Hilfe zu CreateBackup.exe&lt;br /&gt;
&lt;br /&gt;
/H      Zeigt diese Hilfe an&lt;br /&gt;
/Q:     Definiert die Quelle der Dateien&lt;br /&gt;
/Z:     Definiert das Ziel des Backups&lt;br /&gt;
/N:     Definiert das Muster des Dateinamens&lt;br /&gt;
&lt;br /&gt;
/N:DT   DT steht für DateTime (Standard)&lt;br /&gt;
/N:D    D steht für Datum&lt;br /&gt;
&lt;br /&gt;
 Beispiele :&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Backupdatei mit dem Namen TagMonatJahr_StundeMinuteSekunde.zip&lt;br /&gt;
&lt;br /&gt;
CreateBackup.exe /Q:&quot;C:\Quelle Test&quot; /Z:C:\test /N:DT&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Backupdatei mit dem Namen TagMonatJahr.zip&lt;br /&gt;
&lt;br /&gt;
CreateBackup.exe /Q:C:\Quelle /Z:C:\test /N:D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erstellt von Christopher Pope | NO WARRANTY !! | Freeware&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Download : &lt;a href=&quot;http://hope-this-helps.de/serendipity/uploads/Anwendungen/CreateBackup.exe&quot; title=&quot;CreateBackup.exe&quot; target=&quot;_blank&quot;&gt;CreateBackup.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Source Code : &lt;a href=&quot;http://hope-this-helps.de/serendipity/index.php?serendipity[subpage]=Downloads&amp;thiscat=13&amp;file=57&quot;&gt;nur für registrierte Mitglieder&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 24 Aug 2011 10:56:53 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/302-guid.html</guid>
    
</item>
<item>
    <title>Windows XP - WMI Abfrage auf Win32_Product ( Error 80041001 ) funktioniert nicht</title>
    <link>http://hope-this-helps.de/serendipity/archives/301-Windows-XP-WMI-Abfrage-auf-Win32_Product-Error-80041001-funktioniert-nicht.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
            <category>WMI / Powershell</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/301-Windows-XP-WMI-Abfrage-auf-Win32_Product-Error-80041001-funktioniert-nicht.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=301</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=301</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;strong&gt;Problem :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Installieren des von Microsoft bereitgestellten Patches für das jeweilige System.&lt;br /&gt;
&lt;br /&gt;
Download des Patches für Windows Server 2003 : &lt;a href=&quot;http://support.microsoft.com/kb/972189&quot; title=&quot;WMI Win32_Product Hotfix für Windows Server 2003&quot;&gt;http://support.microsoft.com/kb/972189&lt;/a&gt;&lt;br /&gt;
Download des Patches für Windows XP : &lt;a href=&quot;http://support.microsoft.com/kb/970553&quot; title=&quot;WMI Win32_Product Hotfix für Windows XP&quot;&gt;http://support.microsoft.com/kb/970553&lt;/a&gt;             &lt;br /&gt;
&lt;a href=&quot;http://hope-this-helps.de/serendipity/index.php?serendipity[subpage]=Downloads&amp;thiscat=14&amp;file=56&quot; title=&quot;direkter Download&quot;&gt;WMI Win32_Product Hotfix für Windows XP&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 24 Aug 2011 08:53:05 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/301-guid.html</guid>
    
</item>
<item>
    <title>VBS / WSH Funktion um Meldungen auszugeben je nach Interpreter</title>
    <link>http://hope-this-helps.de/serendipity/archives/293-VBS-WSH-Funktion-um-Meldungen-auszugeben-je-nach-Interpreter.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/293-VBS-WSH-Funktion-um-Meldungen-auszugeben-je-nach-Interpreter.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=293</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=293</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Problem :&lt;br /&gt;
&lt;br /&gt;
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) &lt;br /&gt;
&lt;br /&gt;
Lösung :&lt;br /&gt;
&lt;br /&gt;
Ich hab hier eine kleine Funktion geschrieben die ermittelt über welchen Interpreter wscript / cscript das Skript gestartet wurde und die Meldung anpasst.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Function ShowMessage(MSG,Titel)&lt;br /&gt;
Dim StrScriptInt : StrScriptInt = LCase(WScript.FullName)&lt;br /&gt;
&#039; --- Check Interpreter&lt;br /&gt;
If Right(StrScriptInt,11) = &quot;wscript.exe&quot; Then&lt;br /&gt;
	MsgBox MSG,vbOKOnly + vbInformation,Titel&lt;br /&gt;
Else&lt;br /&gt;
	WScript.Echo Titel &amp;amp; &quot;--------------&quot; &amp;amp; vbCrLf &amp;amp; MSG &amp;amp; vbCrLf&lt;br /&gt;
End If&lt;br /&gt;
End Function&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 20 Jul 2011 15:37:45 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/293-guid.html</guid>
    
</item>
<item>
    <title>Neues Tool zum umziehen von Druckern</title>
    <link>http://hope-this-helps.de/serendipity/archives/292-Neues-Tool-zum-umziehen-von-Druckern.html</link>
            <category>Clients</category>
            <category>Scripts + Code Schnipsel</category>
            <category>Tools &amp; Utilities</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/292-Neues-Tool-zum-umziehen-von-Druckern.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=292</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=292</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Problem :&lt;br /&gt;
&lt;br /&gt;
Der Name des Druckservers hat sich verändert und soll jetzt automatisch beim anmelden der user in den verbundenen Drucker korrigiert werden.&lt;br /&gt;
Getestet mit Win 2000 / XP / 7&lt;br /&gt;
&lt;br /&gt;
Lösung :&lt;br /&gt;
&lt;br /&gt;
Ich hab mich ran gesetzt und eine neue Version ohne speichern auf File System Ebene geschrieben.&lt;br /&gt;
&lt;br /&gt;
Hier die möglichen Parameter :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
-o:[Servername] or /o:[Servername] = old print server&lt;br /&gt;
-n:[Servername] or /n:[Servername] = new print server&lt;br /&gt;
-l:[Logfile] or /l:[Logfile] = create an Logfile (path:filename)&lt;br /&gt;
-? or /? = shows this help&lt;br /&gt;
&lt;br /&gt;
replace [Servername] with the hostname / ip-adress without [ and ]&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Beispielaufruf sieht dann so aus :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Move_Printer.exe -o:ALTSERVER -n:NEUSERVER -l:C:\Logfile.txt&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Download Tool : &lt;a href=&quot;http://hope-this-helps.de/serendipity/uploads/Anwendungen/Move_Printer.exe&quot; title=&quot;Move_Printer.exe&quot; target=&quot;_blank&quot;&gt;Move_Printer.exe&lt;/a&gt; (freier Download)&lt;br /&gt;
&lt;br /&gt;
Hier der download des Source Codes : &lt;a href=&quot;http://hope-this-helps.de/serendipity/index.php?serendipity[subpage]=Downloads&amp;thiscat=13&amp;file=55&quot; title=&quot;Source Code Move Printer&quot;&gt;Source Code&lt;/a&gt; (nur für registrierte Mitglieder)&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 20 Jul 2011 15:25:49 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/292-guid.html</guid>
    
</item>
<item>
    <title>VBS Progress Bar</title>
    <link>http://hope-this-helps.de/serendipity/archives/290-VBS-Progress-Bar.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/290-VBS-Progress-Bar.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=290</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=290</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Man möchte den einen Fortschrittsbalken in VBS anzeigen , leider bringt VBS diese Funktion nicht mit dadurch muss man den Internet Explorer verwenden&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
North Atlanta Web Design hat eine Super Klasse dafür geschrieben, so umgeht man den Weg über HTA &lt;br /&gt;
&lt;br /&gt;
hier gehts zum Code : &lt;a href=&quot;http://www.northatlantawebdesign.com/index.php/2009/07/16/simple-vbscript-progress-bar/&quot; target=&quot;_blank&quot; title=&quot;VBS Class ProgressBar &quot;&gt;VBS Class ProgressBar &lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 11 Jul 2011 12:12:05 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/290-guid.html</guid>
    
</item>
<item>
    <title>VBS Funktion: ungelesene Mails im Posteingang von Outlook ermitteln</title>
    <link>http://hope-this-helps.de/serendipity/archives/289-VBS-Funktion-ungelesene-Mails-im-Posteingang-von-Outlook-ermitteln.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/289-VBS-Funktion-ungelesene-Mails-im-Posteingang-von-Outlook-ermitteln.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=289</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=289</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    Funktion zur Ermittlung der ungelesenen Nachrichten im Posteingang von Outlook.&lt;br /&gt;
Outlook muß installiert sein!&lt;br /&gt;
Läuft auch unter Outlook 2010.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Function unread_mails()&lt;br /&gt;
&#039;Funktion zum überprüfen auf neue Mails im Ordner &quot;Posteingang&quot;&lt;br /&gt;
&#039;In Variable &quot;u&quot; wird die Anzahl der ungelesenen Nachrichten übergeben&lt;br /&gt;
&lt;br /&gt;
Dim unread_items, mapi, inbox, mail&lt;br /&gt;
&lt;br /&gt;
Set outObj = CreateObject(&quot;Outlook.Application&quot;)&lt;br /&gt;
&lt;br /&gt;
u = 0 &#039;Zähler ungelesene Nachrichten zurücksetzen&lt;br /&gt;
    &lt;br /&gt;
Set mapi = outObj.GetNamespace(&quot;MAPI&quot;)&lt;br /&gt;
Set inbox = mapi.GetDefaultFolder(6) &#039;Zeiger auf Posteingang setzten - Posteingang = Folder(6)&lt;br /&gt;
&lt;br /&gt;
For Each mail In inbox.Items &#039;überprüfen auf ungelesene Mails&lt;br /&gt;
	If mail.unread Then unread_items = unread_items + 1&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&#039;Ausgabe als Msgbox&lt;br /&gt;
MsgBox &quot;Sie haben &quot; &amp;amp; unread_items &amp;amp; &quot; ungelesene Mails in Ihrem Posteingang&quot;, vbOKOnly, &quot;Posteingang überprüft&quot;&lt;br /&gt;
&lt;br /&gt;
End Function&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Mon, 11 Jul 2011 11:20:26 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/289-guid.html</guid>
    
</item>
<item>
    <title>Überprüfen ob Prozess läuft mit VBS/WSH</title>
    <link>http://hope-this-helps.de/serendipity/archives/288-UEberpruefen-ob-Prozess-laeuft-mit-VBSWSH.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/288-UEberpruefen-ob-Prozess-laeuft-mit-VBSWSH.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=288</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=288</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Hier eine kleine Funktion die überprüft ob ein Prozess läuft oder nicht , sie baut auf VBS / WSH und WMI auf und liefert TRUE oder FALSE zurück.&lt;br /&gt;
&lt;br /&gt;
Funktion : &lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Function CheckProcess(name)&lt;br /&gt;
&#039;------------------ check for running process&lt;br /&gt;
	Dim ObjProcess&lt;br /&gt;
	Set ObjProcess = OBJWMI.ExecQuery(&quot;select * from win32_process where name=&#039;&quot; &amp;amp; name &amp;amp; &quot;&#039; &quot;)&lt;br /&gt;
	If ObjProcess.Count &lt;&gt; 0 Then&lt;br /&gt;
		CheckProcess = True&lt;br /&gt;
	Else&lt;br /&gt;
		CheckProcess = False&lt;br /&gt;
	End If&lt;br /&gt;
	Set ObjProcess = Nothing&lt;br /&gt;
End Function&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
diese Funktion kann z.B. so eingebunden werden&lt;br /&gt;
&lt;br /&gt;
Beispiel :&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Do&lt;br /&gt;
     BoolCkProc = CheckProcess(&quot;notepad.exe&quot;)&lt;br /&gt;
     WScript.Sleep 5000&lt;br /&gt;
Loop Until BoolCkProc = False&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Benötigt wird natürlich das WMI interface&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Dim StrComputer : StrComputer = &quot;.&quot; &#039;-- lokaler Rechner&lt;br /&gt;
Dim OBJWMI : Set OBJWMI = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\&quot; &amp;amp; StrComputer &amp;amp; &quot;\root\cimv2&quot;)&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 06 Jul 2011 11:24:31 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/288-guid.html</guid>
    <category>Process</category>
<category>Prozess</category>
<category>scripts + code schnipsel</category>
<category>vbs / wsh</category>
<category>wmi</category>

</item>
<item>
    <title>VBS Logfile schreiben | Funktion</title>
    <link>http://hope-this-helps.de/serendipity/archives/281-VBS-Logfile-schreiben-Funktion.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/281-VBS-Logfile-schreiben-Funktion.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=281</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=281</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Funktion um ein Logfile in VBS zu schreiben , der neue Eintrag wird immer angehängt.&lt;br /&gt;
&lt;br /&gt;
Benötigt einen Verweis auf &lt;br /&gt;
&lt;blockquote&gt;Dim ObjFso		:	Set ObjFso = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Und die Variable FIL_LOG muss deklariert sein !&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Dim FIL_LOG		:	FIL_LOG = &quot;C:\&quot; &amp;amp; Replace(WScript.ScriptName,&quot;.vbs&quot;,&quot;.log&quot;) &lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Funktion :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Function WriteLog(Inhalt)&lt;br /&gt;
&#039;------------------ Schreibt ein Logfile&lt;br /&gt;
	Dim FileOut&lt;br /&gt;
		Set FileOut = ObjFso.OpenTextFile(FIL_LOG,8,true)&lt;br /&gt;
		FileOut.WriteLine (Inhalt)&lt;br /&gt;
		FileOut.Close&lt;br /&gt;
		Set FileOut = Nothing&lt;br /&gt;
	End Function&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 08 Jun 2011 14:15:15 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/281-guid.html</guid>
    <category>funktion</category>
<category>logfile</category>
<category>scripts + code schnipsel</category>
<category>vbs</category>
<category>vbs / wsh</category>
<category>wsh</category>

</item>
<item>
    <title>VBS: Blinkende Tastatur</title>
    <link>http://hope-this-helps.de/serendipity/archives/273-VBS-Blinkende-Tastatur.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/273-VBS-Blinkende-Tastatur.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=273</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=273</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;
Um Aufmerksamkeit zu erregen, soll eine LED an der Tastatur blinken.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung:&lt;/strong&gt;&lt;br /&gt;
Die ScrollLock-LED blinkt, und auf dem Bildschirm erscheint ein PopUp, mit dem das Blinken abgestellt werden kann.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)&lt;br /&gt;
do&lt;br /&gt;
WshShell.SendKeys &quot;{SCROLLLOCK}&quot;&lt;br /&gt;
Abbruch = WshShell.PopUp(&quot;Blinker stop&quot;,1,&quot;Mail&quot;,0)&lt;br /&gt;
if Abbruch&lt;&gt;-1 then exit do&lt;br /&gt;
loop&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Tue, 12 Apr 2011 16:58:52 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/273-guid.html</guid>
    
</item>
<item>
    <title>VBS: ZIP-Datei überprüfen</title>
    <link>http://hope-this-helps.de/serendipity/archives/272-VBS-ZIP-Datei-ueberpruefen.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/272-VBS-ZIP-Datei-ueberpruefen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=272</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=272</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;
Man möchte den Inhalt einer ZIP-Datei bzw. die Anzahl der Dateien in der ZIP-Datei überprüfen.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung:&lt;/strong&gt;&lt;br /&gt;
Mit folgendem VB-Skript kann man die Anzahl der Dateien innerhalb der ZIP-Datei überprüfen.&lt;br /&gt;
Sollte die Anzahl (filesinzip.Count) 0 sein, dann ist die ZIP-Datei entweder beschädigt oder leer.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Set objApp = CreateObject(&quot;Shell.Application&quot;) &lt;br /&gt;
set filesInzip=objApp.NameSpace(&quot;C:\test.zip&quot;).Items&lt;br /&gt;
Msgbox filesinzip.Count&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 12 Apr 2011 12:48:09 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/272-guid.html</guid>
    
</item>
<item>
    <title>VBS zum automatischen umziehen der lokalen Druckerverbindungen</title>
    <link>http://hope-this-helps.de/serendipity/archives/268-VBS-zum-automatischen-umziehen-der-lokalen-Druckerverbindungen.html</link>
            <category>Clients</category>
            <category>Scripts + Code Schnipsel</category>
            <category>Server</category>
            <category>VBS / WSH</category>
            <category>Windows</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/268-VBS-zum-automatischen-umziehen-der-lokalen-Druckerverbindungen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=268</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=268</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    &lt;u&gt;&lt;strong&gt;Problem :&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Der Name des Printservers hat sich geändert , jetzt kann man zu Fuß an alle Clients gehen und die Drucker umstellen oder man nimmt dieses Skript ins Loginskript auf und das erledigt einem diese Aufgabe ....&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Skript :&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Option Explicit&lt;br /&gt;
&lt;br /&gt;
Dim ObjWsh 		: Set ObjWsh = CreateObject(&quot;WScript.Shell&quot;)&lt;br /&gt;
Dim ObjNet   	: Set ObjNet = CreateObject(&quot;WScript.Network&quot;)&lt;br /&gt;
Dim ObjFso   	: Set ObjFso = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
Dim objEnv   	: Set objEnv = ObjWsh.Environment(&quot;Process&quot;)&lt;br /&gt;
Dim Logfile  	: Logfile = objEnv(&quot;USERPROFILE&quot;) &amp;amp; &quot;\PrtUmzug.txt&quot;&lt;br /&gt;
Dim objNetPr,NPR,DUMMY,ToDo,Zeile,Inhalt,Entry,Printer_New,OLDSERVER,NEWSERVER&lt;br /&gt;
&lt;br /&gt;
OLDSERVER = &quot;SERVERALT&quot;   &#039; ----------------------------&gt; Hier den Namen des alten Printservers eintragen&lt;br /&gt;
NEWSERVER = &quot;SERVERNEU&quot;   &#039; ----------------------------&gt; Hier den Namen des neuen Printservers eintragen&lt;br /&gt;
&lt;br /&gt;
&#039; ------------------ routine&lt;br /&gt;
WScript.Echo &quot;&quot;&lt;br /&gt;
WScript.Echo &quot;-----------------------------------------------------&quot;&lt;br /&gt;
If Not ObjFso.FileExists(Logfile) then&lt;br /&gt;
WScript.Echo &quot;|-&gt; Ihre Druckerverbindungen werden überprüft &amp;amp; korrigiert&quot;&lt;br /&gt;
Inhalt = GetPrinterNames()&lt;br /&gt;
WriteLog Logfile,Inhalt&lt;br /&gt;
ReadLog Logfile&lt;br /&gt;
Else&lt;br /&gt;
WScript.Echo &quot;|-&gt; Druckerverbindungen wurden bereits überprüft&quot;&lt;br /&gt;
End If&lt;br /&gt;
WScript.Echo &quot;-----------------------------------------------------&quot;&lt;br /&gt;
WScript.Quit (1)&lt;br /&gt;
&#039; ------------------ funktionen&lt;br /&gt;
Function GetPrinterNames() 				&#039;--- liest die verbundenen Netzwerkdrucker aus&lt;br /&gt;
  Set objNetPr = ObjNet.EnumPrinterConnections&lt;br /&gt;
  For NPR = 0 to objNetPr.Count - 1 Step 2&lt;br /&gt;
    If Left(objNetPr.Item(NPR + 1),2) = &quot;\\&quot; then&lt;br /&gt;
      If DUMMY = &quot;&quot; then&lt;br /&gt;
        DUMMY = &quot;NPR|&quot; &amp;amp; objNetPr.Item(NPR) &amp;amp; &quot;|&quot; &amp;amp; objNetPr.Item(NPR + 1)&lt;br /&gt;
      Else&lt;br /&gt;
        DUMMY = DUMMY &amp;amp; vbCrLf &amp;amp; &quot;NPR|&quot; &amp;amp; objNetPr.Item(NPR) &amp;amp; &quot;|&quot; &amp;amp; objNetPr.Item(NPR + 1)&lt;br /&gt;
      End If&lt;br /&gt;
    End If&lt;br /&gt;
  Next &lt;br /&gt;
  GetPrinterNames = DUMMY&lt;br /&gt;
  DUMMY = &quot;&quot;&lt;br /&gt;
  Set objNetPr = nothing&lt;br /&gt;
End Function&lt;br /&gt;
Function SetPrinterNames(Line) 			&#039;--- verbindet einen Netzwerkdrucker&lt;br /&gt;
	On Error Resume Next&lt;br /&gt;
	Entry = split(Line,&quot;|&quot;)&lt;br /&gt;
	If UBound(Entry) = 2 Then&lt;br /&gt;
		Printer_New = Replace(lcase(Entry(2)),OLDSERVER,NEWSERVER)&lt;br /&gt;
		ObjNet.RemovePrinterConnection Entry(2)&lt;br /&gt;
		ObjNet.AddWindowsPrinterConnection Printer_New&lt;br /&gt;
	End If&lt;br /&gt;
End Function&lt;br /&gt;
Function ReadLog(File) 					&#039;--- überprüft ob Logfile existiert wenn ja liet Datei aus und spielt gesicherte Einträge zurück&lt;br /&gt;
	If ObjFso.FileExists(File) Then&lt;br /&gt;
		Set Dummy = ObjFso.OpenTextFile(File)&lt;br /&gt;
			Do Until Dummy.AtEndOfStream&lt;br /&gt;
				Zeile = trim(Dummy.Readline)&lt;br /&gt;
				SetPrinterNames(Zeile)&lt;br /&gt;
			Loop&lt;br /&gt;
	End If&lt;br /&gt;
End Function&lt;br /&gt;
Function WriteLog(File,Content) 		&#039;--- löscht die Datei wenn vorhanden und erstellt eine aktualisierte&lt;br /&gt;
  If ObjFso.FileExists(File) Then&lt;br /&gt;
    ObjFso.DeleteFile(File)&lt;br /&gt;
  End If&lt;br /&gt;
  Dim ObjLogFile : Set ObjLogFile = ObjFso.OpenTextFile(File,8,true)&lt;br /&gt;
  ObjLogFile.WriteLine (Content)&lt;br /&gt;
  Set ObjLogFile = Nothing&lt;br /&gt;
End Function&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Thu, 24 Feb 2011 10:40:06 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/268-guid.html</guid>
    
</item>
<item>
    <title>VBS zum Löschen von Dateien mit bestimmter Extension nach x Tagen</title>
    <link>http://hope-this-helps.de/serendipity/archives/258-VBS-zum-Loeschen-von-Dateien-mit-bestimmter-Extension-nach-x-Tagen.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/258-VBS-zum-Loeschen-von-Dateien-mit-bestimmter-Extension-nach-x-Tagen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=258</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=258</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;blockquote&gt;&lt;strong&gt;&#039;DEL_X_DAYS_EXT_FILES.VBS&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;Skript zum löschen von Dateien mit der Extension sExt im Pfad sDirectoryPath,&lt;br /&gt;
&#039;die älter als iDaysOld Tage sind&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;sDirectoryPath = Pfad zum Verzeichnis, in dem die zu löschenden Dateien liegen (ohne abschließnden Backslash)&lt;br /&gt;
&#039;sExt = Extension, der Dateien, die gelöscht werden können/sollen&lt;br /&gt;
&#039;iDaysOld = Angabe des Dateialters in ganzen Tagen&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Option Explicit &lt;br /&gt;
On Error Resume Next &lt;br /&gt;
Dim oFSO, oFolder, sDirectoryPath &lt;br /&gt;
Dim oFileCollection, oFile, sDir &lt;br /&gt;
Dim iDaysOld, sExt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Variablen definieren&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
sDirectoryPath = &quot;D:\BACKUP&quot;&lt;br /&gt;
sExt = &quot;bak&quot;&lt;br /&gt;
iDaysOld = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Zugriff auf Ordner und Dateien&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;
Set oFolder = oFSO.GetFolder(sDirectoryPath) &lt;br /&gt;
Set oFileCollection = oFolder.Files &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Durchsuchen des Zielordners nach allen Dateien mit der Endung sExt&lt;/strong&gt;&lt;br /&gt;
For each oFile in oFileCollection&lt;br /&gt;
	&lt;br /&gt;
	If LCase(Right(Cstr(oFile.Name), 3)) = sExt Then&lt;br /&gt;
 	&lt;br /&gt;
 		If oFile.DateLastModified &lt; (Date() - iDaysOld) Then &#039;lösche Datei, wenn diese älter als iDaysOld Tage ist&lt;br /&gt;
 		&#039;oFile.Delete(True) &lt;strong&gt;&#039;----&gt; Zeile ist nicht aktiv, bitte noch Dokemtarzeiehn davor herausnhemen!!!&lt;/strong&gt;&lt;br /&gt;
		msgbox oFile.Name&lt;strong&gt; &#039;----&gt; Es wird nur der Name der zu löschenden Datei angezeigt!!&lt;/strong&gt;&lt;br /&gt;
 		End If &lt;br /&gt;
 &lt;br /&gt;
	End If   &lt;br /&gt;
&lt;br /&gt;
Next &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Variablen zurücksetzen&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Set oFSO = Nothing &lt;br /&gt;
Set oFolder = Nothing &lt;br /&gt;
Set oFileCollection = Nothing &lt;br /&gt;
Set oFile = Nothing &lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 22 Dec 2010 22:17:10 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/258-guid.html</guid>
    
</item>
<item>
    <title>VBS zum Ermitteln der neuesten Datei an einem Verzeichnis abhängig von der Extension</title>
    <link>http://hope-this-helps.de/serendipity/archives/257-VBS-zum-Ermitteln-der-neuesten-Datei-an-einem-Verzeichnis-abhaengig-von-der-Extension.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/257-VBS-zum-Ermitteln-der-neuesten-Datei-an-einem-Verzeichnis-abhaengig-von-der-Extension.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=257</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=257</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;blockquote&gt;&lt;strong&gt;&#039;Ermittlung der neuesten Datei mit Extension sExt im Pfad sPfath&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;&lt;br /&gt;
&#039;Das Skript durchsucht den gewünschten Pfad &quot;sPath&quot; nach Dateien mit der Extension &quot;sExt&quot;&lt;br /&gt;
&#039;und gibt dann den kompletten Pfad mit Dateinamen von der neuesten Dateu aus sNewestFile&lt;br /&gt;
&lt;br /&gt;
&#039;Variablen für Pfad und Extension&lt;br /&gt;
&#039;sPfad ohne abschließenden Backslash angeben&lt;br /&gt;
&#039;sExt ohne Punkt davor angeben&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
sPath = &quot;C:\Windows\System32&quot;&lt;br /&gt;
sExt = &quot;dll&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Filesystemobject genereieren&lt;/strong&gt;&lt;br /&gt;
Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Funtkion GetNewestFile ausführen&lt;/strong&gt;&lt;br /&gt;
sNewestFile = GetNewestFile(sPath)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Ausgabe der neuesten Datei&lt;br /&gt;
&#039;Wenn keine Datei ermittelt werden konnte, dann auch melden&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
If sNewestFile &lt;&gt; &quot;&quot; Then&lt;br /&gt;
	WScript.Echo &quot;Die neuste Datei mit der Extension &quot; &amp;amp; sExt &amp;amp; &quot; ist &quot; &amp;amp; sNewestFile&lt;br /&gt;
Else&lt;br /&gt;
   	WScript.Echo &quot;Verzeichnis ist leer&quot;&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&#039;Funktion NewestFile&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Function GetNewestFile(ByVal sPath)&lt;br /&gt;
&lt;br /&gt;
   sNewestFile = Null  &lt;strong&gt; &#039; initialisiere Wert&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
   Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
   Set oFolder = oFSO.GetFolder(sPath)&lt;br /&gt;
   Set oFiles = oFolder.Files&lt;br /&gt;
&lt;br /&gt;
  &lt;strong&gt; &#039; Finde die neueste Datei unter allen anderen Dateien&lt;/strong&gt;&lt;br /&gt;
For Each oFile In oFiles&lt;br /&gt;
&lt;br /&gt;
	if lcase(oFSO.GetExtensionName(ofile)) = sExt then &lt;strong&gt;&#039;selektiere Dateien mit der gewünschten Endung aus&lt;/strong&gt;&lt;br /&gt;
	On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
     		If IsNull(sNewestFile) Then&lt;br /&gt;
       			sNewestFile = oFile.Path&lt;br /&gt;
       			dPrevDate = oFile.DateLastModified&lt;br /&gt;
     			Elseif dPrevDate &lt; oFile.DateLastModified Then&lt;br /&gt;
       			sNewestFile = oFile.Path&lt;br /&gt;
     		End If&lt;br /&gt;
&lt;br /&gt;
	end if&lt;br /&gt;
&lt;br /&gt;
     On Error Goto 0&lt;br /&gt;
   Next&lt;br /&gt;
&lt;br /&gt;
   If IsNull(sNewestFile) Then sNewestFile = &quot;&quot;&lt;br /&gt;
&lt;br /&gt;
   GetNewestFile = sNewestFile&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 22 Dec 2010 22:13:52 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/257-guid.html</guid>
    
</item>
<item>
    <title>Konvertierung VBE zu VBS</title>
    <link>http://hope-this-helps.de/serendipity/archives/250-Konvertierung-VBE-zu-VBS.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/250-Konvertierung-VBE-zu-VBS.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=250</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=250</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;
Wer kennt das nicht. Da hat sich ein gutes VB-Skript ausgedacht und um das ganze abzusichern, hat man das in eine VBE umgewandelt um das Ganze zu verschlüsseln. Irgendwie ist einem dann die originale Datei abhanden gekommen und man hat nur noch die kryptische VBE-Datei...wie jetzt an die Daten herankommen?&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung&lt;/strong&gt;&lt;br /&gt;
Es gibt tatsächlich ein Skript, dass eine VBE-Datei wieder in eine VBS-Datei umwandelt. Das Originalskript gibt den unverschlüsselten Inhalt als MsgBox zurück. Ich habe mir erlaubt das Ganze etwas zu erweitern und lasse die entschlüsselte Datei als xxx_encrypted.txt im gleichen Verzeichnis wie die VBE-Datei abspeichern, wobei xxx für den originalen Dateinamen steht (z.B. test.vbe -&gt; test.vbe_decrypted.txt). Hier nun das Skript...dieses einfach als decrypt_vbs.vbs speichern und die gewünschte VBE-Datei entweder per Drag&amp;Drop fallen lassen oder per integrierter Browse-Funktion suchen.&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
option explicit&lt;br /&gt;
Dim oArgs, NomFichier&lt;br /&gt;
&#039;Optional argument : the encoded filename&lt;br /&gt;
NomFichier=&quot;&quot;&lt;br /&gt;
Set oArgs = WScript.Arguments&lt;br /&gt;
Select Case oArgs.Count&lt;br /&gt;
Case 0 &#039;No Arg, popup a dialog box to choose the file&lt;br /&gt;
	NomFichier=BrowseForFolder(&quot;Choose an encoded file&quot;, &amp;H4031, &amp;H0011)&lt;br /&gt;
Case 1&lt;br /&gt;
	If Instr(oArgs(0),&quot;?&quot;)=0 Then &#039;-? ou /? =&gt; aide&lt;br /&gt;
		NomFichier=oArgs(0)&lt;br /&gt;
	End If&lt;br /&gt;
Case Else&lt;br /&gt;
	WScript.Echo &quot;Too many parameters&quot;&lt;br /&gt;
End Select&lt;br /&gt;
Set oArgs = Nothing&lt;br /&gt;
&lt;br /&gt;
If NomFichier&lt;&gt;&quot;&quot; Then&lt;br /&gt;
	Dim fso&lt;br /&gt;
	Set fso=WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
	If fso.FileExists(NomFichier) Then&lt;br /&gt;
		Dim fic,contenu,ofile&lt;br /&gt;
		Set fic = fso.OpenTextFile(NomFichier, 1)&lt;br /&gt;
		Contenu=fic.readAll&lt;br /&gt;
		fic.close&lt;br /&gt;
		Set fic=Nothing&lt;br /&gt;
&lt;br /&gt;
		Const TagInit=&quot;#@~^&quot; &#039;#@~^awQAAA==&lt;br /&gt;
		Const TagFin=&quot;==^#~@&quot; &#039;&amp;amp; chr(0)&lt;br /&gt;
		Dim DebutCode, FinCode&lt;br /&gt;
		Do&lt;br /&gt;
			FinCode=0&lt;br /&gt;
			DebutCode=Instr(Contenu,TagInit)&lt;br /&gt;
			If DebutCode&gt;0 Then&lt;br /&gt;
				If (Instr(DebutCode,Contenu,&quot;==&quot;)-DebutCode)=10 Then &#039;If &quot;==&quot; follows the tag&lt;br /&gt;
					FinCode=Instr(DebutCode,Contenu,TagFin)&lt;br /&gt;
					If FinCode&gt;0 Then&lt;br /&gt;
						Contenu=Left(Contenu,DebutCode-1) &amp;amp; _&lt;br /&gt;
						Decode(Mid(Contenu,DebutCode+12,FinCode-DebutCode-12-6)) &amp;amp; _&lt;br /&gt;
						Mid(Contenu,FinCode+6)&lt;br /&gt;
					End If&lt;br /&gt;
				End If&lt;br /&gt;
			End If&lt;br /&gt;
		Loop Until FinCode=0&lt;br /&gt;
		WScript.Echo contenu&lt;br /&gt;
		Set oFile = fso.OpenTextFile(NomFichier &amp;amp; &quot;_decrypted.txt&quot;,2,True)&lt;br /&gt;
		oFile.WriteLine contenu&lt;br /&gt;
		oFile.close&lt;br /&gt;
	Else&lt;br /&gt;
		WScript.Echo Nomfichier &amp;amp; &quot; not found&quot;&lt;br /&gt;
	End If&lt;br /&gt;
	Set fso=Nothing&lt;br /&gt;
Else&lt;br /&gt;
	WScript.Echo &quot;Please give a filename&quot;&lt;br /&gt;
	WScript.Echo &quot;Usage : &quot; &amp;amp; wscript.fullname  &amp;amp; &quot; &quot; &amp;amp; WScript.ScriptFullName &amp;amp; &quot; &lt;filename&gt;&quot;&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
Function Decode(Chaine)&lt;br /&gt;
	Dim se,i,c,j,index,ChaineTemp&lt;br /&gt;
	Dim tDecode(127)&lt;br /&gt;
	Const Combinaison=&quot;1231232332321323132311233213233211323231311231321323112331123132&quot;&lt;br /&gt;
&lt;br /&gt;
	Set se=WSCript.CreateObject(&quot;Scripting.Encoder&quot;)&lt;br /&gt;
	For i=9 to 127&lt;br /&gt;
		tDecode(i)=&quot;JLA&quot;&lt;br /&gt;
	Next&lt;br /&gt;
	For i=9 to 127&lt;br /&gt;
		ChaineTemp=Mid(se.EncodeScriptFile(&quot;.vbs&quot;,string(3,i),0,&quot;&quot;),13,3)&lt;br /&gt;
		For j=1 to 3&lt;br /&gt;
			c=Asc(Mid(ChaineTemp,j,1))&lt;br /&gt;
			tDecode(c)=Left(tDecode(c),j-1) &amp;amp; chr(i) &amp;amp; Mid(tDecode(c),j+1)&lt;br /&gt;
		Next&lt;br /&gt;
	Next&lt;br /&gt;
	&#039;Next line we correct a bug, otherwise a &quot;)&quot; could be decoded to a &quot;&gt;&quot;&lt;br /&gt;
	tDecode(42)=Left(tDecode(42),1) &amp;amp; &quot;)&quot; &amp;amp; Right(tDecode(42),1)&lt;br /&gt;
	Set se=Nothing&lt;br /&gt;
&lt;br /&gt;
	Chaine=Replace(Replace(Chaine,&quot;@&amp;&quot;,chr(10)),&quot;@#&quot;,chr(13))&lt;br /&gt;
	Chaine=Replace(Replace(Chaine,&quot;@*&quot;,&quot;&gt;&quot;),&quot;@!&quot;,&quot;&lt;&quot;)&lt;br /&gt;
	Chaine=Replace(Chaine,&quot;@$&quot;,&quot;@&quot;)&lt;br /&gt;
	index=-1&lt;br /&gt;
	For i=1 to Len(Chaine)&lt;br /&gt;
		c=asc(Mid(Chaine,i,1))&lt;br /&gt;
		If c&lt;128 Then index=index+1&lt;br /&gt;
		If (c=9) or ((c&gt;31) and (c&lt;128)) Then&lt;br /&gt;
			If (c&lt;&gt;60) and (c&lt;&gt;62) and (c&lt;&gt;64) Then&lt;br /&gt;
				Chaine=Left(Chaine,i-1) &amp;amp; Mid(tDecode(c),Mid(Combinaison,(index mod 64)+1,1),1) &amp;amp; Mid(Chaine,i+1)&lt;br /&gt;
			End If&lt;br /&gt;
		End If&lt;br /&gt;
	Next&lt;br /&gt;
	Decode=Chaine&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
Function BrowseForFolder(ByVal pstrPrompt, ByVal pintBrowseType, ByVal pintLocation)&lt;br /&gt;
	Dim ShellObject, pstrTempFolder, x&lt;br /&gt;
	Set ShellObject=WScript.CreateObject(&quot;Shell.Application&quot;)&lt;br /&gt;
	On Error Resume Next&lt;br /&gt;
	Set pstrTempFolder=ShellObject.BrowseForFolder(&amp;H0,pstrPrompt,pintBrowseType,pintLocation)&lt;br /&gt;
	BrowseForFolder=pstrTempFolder.ParentFolder.ParseName(pstrTempFolder.Title).Path&lt;br /&gt;
	If Err.Number&lt;&gt;0 Then BrowseForFolder=&quot;&quot;&lt;br /&gt;
	Set pstrTempFolder=Nothing&lt;br /&gt;
	Set ShellObject=Nothing&lt;br /&gt;
End Function&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Quelle:&lt;/strong&gt; &lt;u&gt;&lt;a href=&quot;http://www.interclasse.com/scripts/decovbe.php&quot;&gt;Decode all files encoded (original version)&lt;/a&gt;&lt;/u&gt; 
    </content:encoded>

    <pubDate>Mon, 18 Oct 2010 10:31:17 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/250-guid.html</guid>
    <category>entschlüsseln</category>
<category>scripts + code schnipsel</category>
<category>vbe</category>
<category>vbs</category>
<category>vbs / wsh</category>

</item>
<item>
    <title>VBS / WSH Pseudo Timestamp erstellen</title>
    <link>http://hope-this-helps.de/serendipity/archives/244-VBS-WSH-Pseudo-Timestamp-erstellen.html</link>
            <category>Scripts + Code Schnipsel</category>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/244-VBS-WSH-Pseudo-Timestamp-erstellen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=244</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=244</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Diese Funktion erstellt einen Pseudotimestamp , ist ganz gut wenn man Logfiles oder ähnliches schreiben möchte&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Function PTimestamp()&lt;br /&gt;
Dim JAH,MON,SEK,STU,TAG,MIN&lt;br /&gt;
JAH = Year(Now)&lt;br /&gt;
If Month(Now) &lt; 10 then&lt;br /&gt;
	mon = &quot;0&quot; &amp;amp; Month(Now)&lt;br /&gt;
Else&lt;br /&gt;
	mon = Month(Now)&lt;br /&gt;
End If&lt;br /&gt;
If Day(Now) &lt; 10 then&lt;br /&gt;
	TAG = &quot;0&quot; &amp;amp; Day(Now)&lt;br /&gt;
Else&lt;br /&gt;
	TAG = Day(Now)&lt;br /&gt;
End If&lt;br /&gt;
If Hour(Now) &lt; 10 then&lt;br /&gt;
	STU = &quot;0&quot; &amp;amp; Hour(Now)&lt;br /&gt;
Else&lt;br /&gt;
	STU = Hour(Now)&lt;br /&gt;
End If&lt;br /&gt;
If Minute(now) &lt; 10 then&lt;br /&gt;
	MIN = &quot;0&quot; &amp;amp; Minute(now)&lt;br /&gt;
Else&lt;br /&gt;
	MIN = Minute(now)&lt;br /&gt;
End If&lt;br /&gt;
If Second(Now) &lt; 10 then&lt;br /&gt;
	SEK = &quot;0&quot; &amp;amp; Second(Now)&lt;br /&gt;
Else&lt;br /&gt;
	SEK = Second(Now)&lt;br /&gt;
End If&lt;br /&gt;
PTimestamp = TAG &amp;amp; MON &amp;amp; JAH &amp;amp; STU &amp;amp; MIN &amp;amp; SEK &lt;br /&gt;
End Function&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion kann dann z.B. so aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
MsgBox &quot;TEST_&quot; &amp;amp; PTimestamp()&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Thu, 29 Jul 2010 10:25:06 +0200</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/244-guid.html</guid>
    <category>date</category>
<category>scripts + code schnipsel</category>
<category>timestamp</category>
<category>vbs</category>
<category>vbs / wsh</category>

</item>
<item>
    <title>Inputbox an bestimmter Position anzeigen</title>
    <link>http://hope-this-helps.de/serendipity/archives/220-Inputbox-an-bestimmter-Position-anzeigen.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/220-Inputbox-an-bestimmter-Position-anzeigen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=220</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=220</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;
Man möchte eine Inputbox an eine bestimmte Position am Bildschirm anzeigen lassen um z.B. eine andere Anwendung nicht zu verdecken.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;InputBox ( &quot;title&quot;, &quot;Prompt&quot; [, &quot;Default&quot; [, &quot;password char&quot; [, Width, Height [, Left, Top [, TimeOut]]]]] )&lt;/blockquote&gt;&lt;br /&gt;
&lt;strong&gt;Parameter&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;title&lt;/strong&gt; = Der Titel der InputBox &lt;br /&gt;
&lt;strong&gt;prompt&lt;/strong&gt; = Ein Beschreibungstext für den Nutzer, damit er weiß, was er eingeben soll. &lt;br /&gt;
&lt;strong&gt;password char [optional]&lt;/strong&gt; = Das Zeichen, mit dem alle eingegebenen Zeichen maskiert werden. Wenn du willst, dass das echte Zeichen angezeigt werden soll, dann übergebe einen leeren String (&quot;&quot;) (Standardwert) oder ein Leerzeichen als erstes Zeichen. Wenn du einen mehrere Zeichen langen String angibst, wird nur das erste Zeichen zum Maskieren genutzt. Die weiteren Zeichen haben eine besondere Bedutung. Siehe dazu die Bemerkungen. &lt;br /&gt;
&lt;strong&gt;width [optional] &lt;/strong&gt;= Die Breite des Fensters. Wenn die Breite definiert wird, muss auch die Höhe angegeben werden. Gib -1 an, um die Standardbreite zu verwenden. &lt;br /&gt;
&lt;strong&gt;height [optional]&lt;/strong&gt; =Die Höhe des Fensters. Wenn die Höhe definiert wird, muss auch die Breite angegeben werden. Gib -1 an, um die Standardhöhe zu verwenden &lt;br /&gt;
&lt;strong&gt;left [optional] &lt;/strong&gt;= Horizontale Position der InputBox. Standardmäßig wird die Box zentriert. Wenn angegeben, muss auch die vertikale Position bestimmt werden. &lt;br /&gt;
&lt;strong&gt;top [optional] &lt;/strong&gt;= Vertikale Position der InputBox. Standardmäßig wird die Box zentriert. Wenn angegeben, muss auch die horizontale Position bestimmt werden. &lt;br /&gt;
&lt;strong&gt;timeout [optional]&lt;/strong&gt; = Wie viele Sekunden soll gewartet werden, bis die InputBox automatisch über den Cancel-Button verlassen wird. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Quelle autoit.de:&lt;/strong&gt; &lt;a href=&quot;http://www.autoit.de/dokumentation/functions/InputBox.htm&quot;&gt;InputBox - Referenz&lt;/a&gt; 
    </content:encoded>

    <pubDate>Thu, 25 Mar 2010 16:19:38 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/220-guid.html</guid>
    <category>VBS / WSH</category>

</item>
<item>
    <title>Fehlerbehandlung in VBS/WSH</title>
    <link>http://hope-this-helps.de/serendipity/archives/211-Fehlerbehandlung-in-VBSWSH.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/211-Fehlerbehandlung-in-VBSWSH.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=211</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=211</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Problem :&lt;br /&gt;
&lt;br /&gt;
Es soll überprüft werden ob eine Aufgabe eines VBS/WSH Skriptes erfolgreich durchgeführt wurde.&lt;br /&gt;
Normalerweise stopt die Ausführen an jedem Fehler , ohne das dieser auswertbar bist.&lt;br /&gt;
In einigen Fälle wird aber ein Rückgabewert erforderlich diesen erreicht man indem man am Anfang&lt;br /&gt;
des Skriptes die Zeile&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;On Error Resume Next&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
einfügt. Der Status des Vorgangs kann dann mit &lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;if err.number&lt;&gt;0 then &lt;br /&gt;
    wscript.echo err.number, err.description&lt;br /&gt;
    err.Clear&lt;br /&gt;
end if &lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
überprüft werden. Wenn die Fehlerbehandlung wieder von VBS/WSH erledigt werden soll kann man das mit der Zeile&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;On Error Goto 0&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
erreichen&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Fri, 19 Mar 2010 13:03:56 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/211-guid.html</guid>
    <category>VBS / WSH</category>

</item>
<item>
    <title>Sprache des Installierten Betriebssystem ermitteln</title>
    <link>http://hope-this-helps.de/serendipity/archives/210-Sprache-des-Installierten-Betriebssystem-ermitteln.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/210-Sprache-des-Installierten-Betriebssystem-ermitteln.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=210</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=210</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Problem :&lt;br /&gt;
&lt;br /&gt;
Man muss herausfinden auf welcher Sprache das Betriebssystem läuft&lt;br /&gt;
&lt;br /&gt;
Lösung :&lt;br /&gt;
&lt;br /&gt;
Diese Funktion ermittelt die gewünschte Information über WMI&lt;br /&gt;
&lt;br /&gt;
Benötigte Deklarationen :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Dim ObjWMI : Set ObjWMI = GetObject(&quot;winmgmts:\\.\root\CIMV2&quot;)&lt;br /&gt;
PUBLIC LANGID&lt;br /&gt;
PUBLIC LANGLE&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Funktion :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Function GetLanguageID()&lt;br /&gt;
DIM colItems : Set colItems = ObjWMI.ExecQuery(&quot;SELECT * FROM Win32_OperatingSystem&quot;)&lt;br /&gt;
For Each objItem in colitems&lt;br /&gt;
	LANGID = objItem.Locale &lt;br /&gt;
Next&lt;br /&gt;
Select Case LANGID&lt;br /&gt;
	Case &quot;0409&quot; : LANGLE = &quot;EN&quot; : MsgBox &quot;Language : English (American)&quot;&#039;&lt;br /&gt;
	Case &quot;0407&quot; : LANGLE = &quot;DE&quot; : MsgBox &quot;Language : Deutsch (Germany)&quot; 	&lt;br /&gt;
                Case &quot;040c&quot; : LANGLE = &quot;FR&quot; : MsgBox &quot;Language : French (Standard)&quot; &lt;br /&gt;
	Case &quot;0c0a&quot; : LANGLE = &quot;ES&quot; : MsgBox &quot;Language : Spain (Modern Sort)&quot; &lt;br /&gt;
	Case &quot;040a&quot; : LANGLE = &quot;ES&quot; : MsgBox &quot;Language : Spain (Traditional Sort)&quot;	&lt;br /&gt;
                Case &quot;0410&quot; : LANGLE = &quot;IT&quot; : MsgBox &quot;Language : Italian (Standard)&quot;&lt;br /&gt;
End Select&lt;br /&gt;
End Function&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Kann beliebig mit den Codes von MS erweitert werden : &lt;a href=&quot;http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx&quot; target=&quot;_blank&quot; title=&quot;Language IDs Microsoft&quot;&gt;Language IDs Microsoft&lt;/a&gt; 
    </content:encoded>

    <pubDate>Fri, 19 Mar 2010 10:01:54 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/210-guid.html</guid>
    <category>VBS / WSH</category>

</item>
<item>
    <title>BIOS mittels WMI per Skript auslesen</title>
    <link>http://hope-this-helps.de/serendipity/archives/198-BIOS-mittels-WMI-per-Skript-auslesen.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/198-BIOS-mittels-WMI-per-Skript-auslesen.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=198</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=198</wfw:commentRss>
    

    <author>nospam@example.com (Ralf Entner)</author>
    <content:encoded>
    &lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;
Man möchte gerne BIOS-Version, Hersteller, Seriennummer und Physikalische Speicherbelegung aus dem BIOS auslesen ohne den Server neu zu starten.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lösung&lt;/strong&gt;&lt;br /&gt;
Folgendes VBS-Skript ließt die wichtigsten Informationen aus dem BIOS aus:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;bios_settings.vbs&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;strong&gt;strComputer = &quot;.&quot;&lt;br /&gt;
Set objWMIService = GetObject(&quot;winmgmts:&quot; &amp;amp; &quot;{impersonationLevel=impersonate}!\\&quot; &amp;amp; strComputer &amp;amp; &quot;\root\cimv2&quot;)&lt;br /&gt;
Set colBIOS = objWMIService.ExecQuery (&quot;Select &lt;strong&gt; from Win32_BIOS&quot;)&lt;br /&gt;
For each objBIOS in colBIOS&lt;br /&gt;
msg = &quot;BIOS-Informationen&quot; &amp;amp; vbcrlf&lt;br /&gt;
msg = msg &amp;amp; &quot;Manufacturer: &quot; &amp;amp; objBIOS.Manufacturer &amp;amp; vbcrlf&lt;br /&gt;
msg = msg &amp;amp; &quot;Name: &quot; &amp;amp; objBIOS.Name &amp;amp; vbCRLF&lt;br /&gt;
msg = msg &amp;amp; &quot;Serial Number: &quot; &amp;amp; objBIOS.SerialNumber &amp;amp; vbCRLF&lt;br /&gt;
msg = msg &amp;amp; &quot;SMBIOS Version: &quot; &amp;amp; objBIOS.SMBIOSBIOSVersion &amp;amp; vbCRLF&lt;br /&gt;
msg = msg &amp;amp; &quot;Status: &quot; &amp;amp; objBIOS.Status &amp;amp; vbCRLF &amp;amp; vbcrlf&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
msg = msg &amp;amp; &quot;physikalische Speicherplätze&quot; &amp;amp; vbCRLF&lt;br /&gt;
anzahl = 0&lt;br /&gt;
&lt;br /&gt;
Set colItems = objWMIService.ExecQuery(&quot;Select &lt;/strong&gt; from Win32_PhysicalMemory&quot;,,48)&lt;br /&gt;
For Each objItem in colItems&lt;br /&gt;
    anzahl = anzahl + 1&lt;br /&gt;
    msg = msg &amp;amp; &quot;Bank &quot; &amp;amp; anzahl &amp;amp; &quot; = Größe: &quot; &amp;amp; objItem.Capacity/1024/1024 &amp;amp; &quot; MB&quot; &amp;amp; vbcrlf&lt;br /&gt;
Next&lt;br /&gt;
msgbox msg&lt;/strong&gt;&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Wed, 03 Mar 2010 09:31:06 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/198-guid.html</guid>
    <category>vbs / wsh</category>

</item>
<item>
    <title>Aktuelles Datum , zweistellig ermitteln / ausgeben</title>
    <link>http://hope-this-helps.de/serendipity/archives/184-Aktuelles-Datum-,-zweistellig-ermitteln-ausgeben.html</link>
            <category>VBS / WSH</category>
    
    <comments>http://hope-this-helps.de/serendipity/archives/184-Aktuelles-Datum-,-zweistellig-ermitteln-ausgeben.html#comments</comments>
    <wfw:comment>http://hope-this-helps.de/serendipity/wfwcomment.php?cid=184</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://hope-this-helps.de/serendipity/rss.php?version=2.0&amp;type=comments&amp;cid=184</wfw:commentRss>
    

    <author>nospam@example.com (Christopher Pope)</author>
    <content:encoded>
    Ist zwar eine einfach Funktion aber dennoch wenn man sie hat muß man sie nicht immer selber Tippen &lt;img src=&quot;http://hope-this-helps.de/serendipity/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Function GetDate()&lt;br /&gt;
&#039;------------------ Ermittelt das aktuelle Datum&lt;br /&gt;
  Dim Monat : Monat = Month(now)&lt;br /&gt;
  Dim Tag   : Tag = Day(Now)&lt;br /&gt;
  Dim Jahr  : Jahr = Year(now)&lt;br /&gt;
  If Monat &lt; 10 then &lt;br /&gt;
    Monat = &quot;0&quot; &amp;amp; Monat &lt;br /&gt;
  End If&lt;br /&gt;
  If Tag &lt; 10 Then&lt;br /&gt;
    Tag = &quot;0&quot; &amp;amp; Tag&lt;br /&gt;
  End If&lt;br /&gt;
    GetDate = Tag &amp;amp; &quot;.&quot; &amp;amp; Monat &amp;amp; &quot;.&quot; &amp;amp; Jahr&lt;br /&gt;
End Function&lt;br /&gt;
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Fri, 26 Feb 2010 10:22:48 +0100</pubDate>
    <guid isPermaLink="false">http://hope-this-helps.de/serendipity/archives/184-guid.html</guid>
    <category>VBS / WSH</category>

</item>

</channel>
</rss>