VBS Script fürs Autologon
wenn Win 7 und Gruppenzugehörigkeit xxxx, dann CAD-Script
Stehe momentan gewaltig aufm Schlauch.
In einem Logonscript müsste eine Betriebssystemabfrage eingebaut werden und dann für verschieden Programme zugehörige Batchprogramme ausgeführt werden.
wenn Win 7 und Gruppenzugehörigkeit xxxx, dann CAD-Script
if %os% == Windows_XP
then
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run ("Cmd /c:\scripttest\test1.bat"),
ws.run ("Cmd /c:\scripttest\test2.bat"),
ws.run ("Cmd /c:\scripttest\test3.bat")
endif;
Wahrscheinlich ist das, was ich bissher entworfen habe umständlich und auch die Abfrage nach der Benutzergruppe (AD) ist noch nicht integriert.
Für Hilfe wäre ich dankbar ;)
Der frühe Vogel fängt den Wurm ...
aber die 2.te Maus bekommt den Käse....
denk mal drüber nach...
Stehe momentan gewaltig aufm Schlauch.
In einem Logonscript müsste eine Betriebssystemabfrage eingebaut werden und dann für verschieden Programme zugehörige Batchprogramme ausgeführt werden.
wenn Win 7 und Gruppenzugehörigkeit xxxx, dann CAD-Script
if %os% == Windows_XP
then
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run ("Cmd /c:\scripttest\test1.bat"),
ws.run ("Cmd /c:\scripttest\test2.bat"),
ws.run ("Cmd /c:\scripttest\test3.bat")
endif;
Wahrscheinlich ist das, was ich bissher entworfen habe umständlich und auch die Abfrage nach der Benutzergruppe (AD) ist noch nicht integriert.
Für Hilfe wäre ich dankbar ;)
Der frühe Vogel fängt den Wurm ...
aber die 2.te Maus bekommt den Käse....
denk mal drüber nach...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185233
Url: https://administrator.de/contentid/185233
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
20 Kommentare
Neuester Kommentar
Gude,
Mit %os% wirst du nicht weiter kommen...Ich gehe davon aus das du sowas suchst...
usw...
Gruß Markus
if (%OS% == Windows_XP & XXXX) then ...
Mit %os% wirst du nicht weiter kommen...Ich gehe davon aus das du sowas suchst...
VER | find "XP" > nul
IF %errorlevel% == 0 GOTO XP
VER | find "2000" > nul
IF %errorlevel% == 0 GOTO 2000
VER | find "NT" > nul
IF %errorlevel% == 0 GOTO NT
VER | find "Microsoft Windows [Version 6.0" > nul
IF %errorlevel% E== 0 GOTO Vista
VER | find "Microsoft Windows [Version 5.2" > nul
IF %errorlevel% == 0 GOTO 2003
VER | find "Microsoft Windows [Version 6.1" > nul
IF %errorlevel% == 0 GOTO Win7
usw...
Gruß Markus
Hi,
Also bei mir funktioniert es , aber ich hab auch gerade gesehen das du ebenfalls die Gruppenzugehörigkeit abfragen willst.
Daher wäre es denk ich besser wenn du mit GPP (Group Policy Preferences) arbeitest, vorausgesetzt du hast eine vorhandene Domäne.
Gruß Markus
ab dem | motzt die CMD, das er dieses zeichen nicht kenn, aber sicher bin ich nicht....
Also bei mir funktioniert es , aber ich hab auch gerade gesehen das du ebenfalls die Gruppenzugehörigkeit abfragen willst.
Daher wäre es denk ich besser wenn du mit GPP (Group Policy Preferences) arbeitest, vorausgesetzt du hast eine vorhandene Domäne.
Gruß Markus
Wie gesagt, am besten wäre es wenn du das mittels GPP löst. Ist definitiv eine saubere Lösung. (Wenn nicht die sauberste Lösung)
Ja, ohne Rechte ist das so ne Sache. Da musst du mit deinen vorgesetzten Reden...
Es wäre von Vorteil wenn du mal sagen würdest was genau du vor hast. Willst du nur weitere Batches ausführen, etwas kopieren, oder ein Programm starten?
Wenn ja, was sollen die weiteren Batches machen, oder die auszüführenden Programme...
Ja, ohne Rechte ist das so ne Sache. Da musst du mit deinen vorgesetzten Reden...
Zitat von @BADwolf:
muss ich denn, wenn ich die Datei als BAT ausführe dann irgendwas besonderes beachten? BZW, muss ich die ganze "Tabelle
in BAt ausführen, und wie übergebe ich die den Wert dann an die VBS um damit weiter zu arbeiten
muss ich denn, wenn ich die Datei als BAT ausführe dann irgendwas besonderes beachten? BZW, muss ich die ganze "Tabelle
in BAt ausführen, und wie übergebe ich die den Wert dann an die VBS um damit weiter zu arbeiten
Es wäre von Vorteil wenn du mal sagen würdest was genau du vor hast. Willst du nur weitere Batches ausführen, etwas kopieren, oder ein Programm starten?
Wenn ja, was sollen die weiteren Batches machen, oder die auszüführenden Programme...
Hallo BADWolf!
Es ist sinnlos, dsa gleiche Objekt unter 3 verschiedenen Namen zu erstellen (und dann - siehe "ObjShell=..." auch noch falsch zu verwenden) - daher sollte eigentlich
genügen ...
Grüße
bastla
P.S.: Und schau doch mal in die Formatierungshilfe, wie sich Code besser leserlich darstellen lässt ...
Es ist sinnlos, dsa gleiche Objekt unter 3 verschiedenen Namen zu erstellen (und dann - siehe "ObjShell=..." auch noch falsch zu verwenden) - daher sollte eigentlich
'-----------------------OS - ERmitllung------------------------------
Set ShellObject = WScript.CreateObject("WScript.Shell")
ProductName = ShellObject.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductName")
'Wenn Windows XP, dann
If InStr(ProductName, "XP") Then
ShellObject.Run ("\\oe03817\Launch\login.bat")
End If
'Wenn Windows 7, dann
If InStr(ObjShell, "7") then
ShellObject.Run ("\\davs240301\cad$\SWX\SolidWorks_2012\00_Logon\swxlogon.bat")
ShellObject.Run ("\\davs240301\cad$\ACADME\ACADME2012\00_Logon\acadmelogon.bat")
ShellObject.Run ("\\davs240301\cad$\INV\00_Logon\invlogon.bat")
End If
Grüße
bastla
P.S.: Und schau doch mal in die Formatierungshilfe, wie sich Code besser leserlich darstellen lässt ...
Hallo BADwolf!
Grundsätzlich ja, wobei allerdings die Position des "
- damit wird zunächst anhand der "=" zerlegt und der zweite entstehende Teil verwendet, und dieser beim "," weiter unterteilt, wobei dieses Mal der erste Teil gefragt ist ...
Grüße
bastla
Grundsätzlich ja, wobei allerdings die Position des "
Next
" zu überdenken wäre - die Frage ist auch, ob Du nicht vielleicht doch nur den "CN" der Gruppe verwenden willst - entweder per Abfrage des Attributs oder per Zerlegung in der Art vonIf InStr(Split(Split(Group, "=")(1), ",")(0)), "xxxx") Then
Grüße
bastla
Hallo BADwolf!
An "Kompatibilitätsfehler " muss ich meine Zweifel anmelden.
Vielleicht fehlt ja auch nur ein einzelnes Leerzeichen - allerdings ließe sich die Zeile 5 wesentlich leichter finden, wenn Du Dich zur Verwendung der oben schon angesprochenen "Code"-Formatierung (siehe hier) entschließen könntest.
Wenn Du das mit der Zeile 5 hinbekommen hast, solltest Du auch noch über eine passende Position für ein "
Grüße
bastla
An "Kompatibilitätsfehler " muss ich meine Zweifel anmelden.
Vielleicht fehlt ja auch nur ein einzelnes Leerzeichen - allerdings ließe sich die Zeile 5 wesentlich leichter finden, wenn Du Dich zur Verwendung der oben schon angesprochenen "Code"-Formatierung (siehe hier) entschließen könntest.
Wenn Du das mit der Zeile 5 hinbekommen hast, solltest Du auch noch über eine passende Position für ein "
Next
" nachdenken ...Grüße
bastla