Jump to content

Logon Script


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Nun das script soll sichtbar ausgeführt werden damit der User weiss was für Laufwerke er bekommt und ob er sie bekommt (Wobei das sieht er ja wenn er den Explorer öffnet).

 

Hi Markus,

 

was genau wird denn während des Scripts ausgegeben, damit der User erkennt welches Laufwerk er bekommt auf warum er bestimmte Laufwerke nicht bekommt?

 

Wenn Du selber schreibst, er könnte den Explorer öffnen und würde es sehen,

hätte er mit Hilfe des Scripts mehr Informationen?

 

ich verbeisse mich auch oft in Dinge, welche ich dann genauso machen möchte.

aber irgendwann nehm ich dann doch die einfacherere Lösung.

In diesem fall das Script nicht sichtbar ausführen und dann den Explorer starten...

Link zu diesem Kommentar

Hi Markus,

 

wenn Du ein wenig Zeit investierst, kannst Du dein Script auf Kixtart umstellen. Dort gibt es nämlich eine Eigenschaft namens BREAK, die standardmäßig auf OFF gesetzt ist und verhindert, daß Close im Systemmenu verfügbar ist (bzw. dafür sorgt, daß das X ausgeblendet ist).

 

Vielleicht reicht es ja schon ein Wrapper-Script für dein CMD Script zu schreiben.

D.h. via Kixtart startest Du im selben Kontext deine Batch-Datei und profitierst von der BREAK Funktion.

 

Soweit zur Idee :) Da ich Kixtart selber noch nie getestet habe (benutze VBScript), müsstest Du das ganze einfach mal ausprobieren.

 

Gruß

Andre

Link zu diesem Kommentar

dersupergrobi:

Also im grunde genommen hast Du ja recht, warum sollte ein User unbedingt wissen was für ein LW er bekommt. Mehr oder weniger ist es wichtig das seine Application (SW) läuft und das er an seine Daten rankommt.

Ich bin da ebend ziehmlich ergeizig wenn es um knifflige sachen geht. Ich mag foren eigentlich nicht so sehr da oft fragen gestellt werden die dann nur meist eine plumpe antwort hat. Ich bin der meinung das dann am ende wenigsten stehen sollte von dem jenigen der das prob. hat ob nun die Lösung gefunden wurden und wenn ja, wie sie ist. Oder ebend einfach nur schreiben keine lösung.

Ich habe hier ein Prob. gepostet nun will ich auch die lösung wissen und ggf. auch schrieben das es so geht oder auch nicht.

 

Es kann schon sein das ich dann am schluss das Script ausblenden werde, aber dies ist nicht die Lösung.

Dann hätte ich auch fragen können wie belde ich das Logonscript aus (Wenn ich dies nicht wüste).

 

Ich muste vor ca. einem halben jahr mal was suchen da ging es darum die Netzlaufwerke umzubennen. Ich glaube hier in dem Board war jemend der die gleiche frage hatte. Die antwort war dann " net use ".

Also da frage ich mich dann was das soll. Eine plausible frage und so eine antwort.

Man kann leider das NETZLAUFWERK nicht über label umbennen da das system die rechte hat und klein admin. Es geht nur wenn man in der regestrie die Namen ändert. Dies wäre dann schon mal was gewesen.

Aber leider kann man sowas nicht ändern.

 

Operator:

Das ist eine geniale idee, ich glaube so geht das auch. Werde mich da mal ransetzten, denn ich habe in den Win9x zeiten viel mit Kixstart gemacht.

Werde dann berichten.

 

 

Markus

Link zu diesem Kommentar

Operator:

Also ich hab das mal versucht mir Kixstart und es geht nicht bei dem Break befehlt wird unterbunden das man das script unterbrechen kann z.B. mit Ctrg + C. Wenn man nun über dsa Symbold (x) das scrript abbrechen möchte dann wird der login abgebrochen und man steht dann wieder in der anmeldemaske.

Also leider nicht ganz das was ich will. Der Tipp war aber schon sehr gut und würde sagen ziehmlich nahe dran.

 

bis dann

Markus

 

Achso hier einen Auszug aus den Manuals von Kixstart mit dem Befehl Break

 

BREAK

 

Action

Enables (BREAK ON) or disables (BREAK OFF) the CTRL+C/BREAK keys and the Close command. This effectively allows control over whether a script run by KiXtart can be interrupted or not.

Syntax

BREAK <ON | OFF>

 

Remarks

By default, to prevent users from inadvertently interrupting a script, KiXtart automatically disables the CTRL+C/BREAK keys, removes the Close command in the System menu of the current command-prompt window, and hides the Please wait while your logon script executes message box on Windows 9x.

 

In a multi-tasking environment such as Windows NT, users cannot be fully prevented from interrupting a program. (Programs can be stopped by using the Task List, for example.) As an additional protection, on computers running Windows NT Workstation only, when BREAK is OFF (the default) KiXtart also installs a special event handler for the current console. The effect of this handler is that whenever a user forcibly terminates KiXtart, the user is automatically logged off. This also means that you must be careful when testing scripts.

Link zu diesem Kommentar

Hi Markus,

 

die Hilfe hatte ich auch gelesen und demnach sollte das ganze klappen:

removes the Close command in the System menu of the current command-prompt window

Das Close-Command ist nämlich auch für das X zuständig, wenn mich meine alten Delphi-Kenntnisse nicht ganz im Stich lassen. Aber ich lasse mich gern belehren.

 

Hattest Du das ganze ausprobiert? Oder nur die Hilfe überflogen?

 

Gruß

Andre

Link zu diesem Kommentar

Operator:

 

Hatte es auch zuerst gedacht das es ginge wegen diesem satz. Da ich hier zuhause auch eine Domaine habe konnte ich es sofort versuchen leider ist es so wie ich es schrieb.

 

Das symbol war noch da und als ich darauf clickte hat windows die anmeldung abgebrochen und mir dann das Anmeldefenster gezeigt.

 

Werde es mir aber morgen nochmal genauer anschaun, da ich auf grund dises satzes (removes the Close command in the System menu of the current command-prompt window ) auch der meinung bin das es gehen müste.

 

bis dann

 

Markus

Link zu diesem Kommentar

Hi Markus,

Bei mir läuft das UserAnmeldeskript, mit dem auch Laufwerke zugewiesen werden, versteckt. Das Skript schreibt jedem User in sein Home an eine bestimmte Stelle eine Logdatei des Logins, aber auch Gruppenmitgliedschaften, Uhrzeit blabla. Die ist zwar weniger für den User selbst, sondern für den Supportkollegen. Der User kann natürlich auch reinschauen.

 

cu

blub

Link zu diesem Kommentar

@ALL

Lösung:

 

Ich muss mich echt bei Operator bedanken für den TIP mit KIXTART.

Als ich es getest hatte ging es nicht, was mir jetzt auch klar ist warum es nicht ging.

 

Nun zur lösung, ich werde es kurz machen denn ich habe ja auch eine Kurze Frage gestellt. Wie man das (x) unterlegen kann.

 

logon.cmd:

KIX32.EXE TEST.KIX

CALL LOGON2.CMD

:END

 

TEST.KIX:

EXIT

 

LOGON2.CMD (IST DAS EIGENTLISCHE SCRIPT, WAS ABLAUFEN SOLL)

 

Nun ist das (X) unterlegt und man kann das Fenster nicht mehr schliessen.

 

Was ganz wichtig ist, das Schliesen symbol wird nur bei der anmeldung unterlegt.

Also wenn man es nur Testen möchte und es aufruft von Hand geht dieses nicht.

NOCHMAL: Das Symbol ist unterlegt, aber nur bei der Anmeldung.

In dem Test.kix File habe ich hier in dem beispiel nur ein EXIT reingeschrieben, da KIX das Symbol immer abstellt bei der Anmeldung. Daher soll er nur starten und gleich wieder verlassen. Das Symbol bleibt unterlegt.

Man kann in dem Script auch explizit sagen das es wieder an sein soll.

 

So Das ist die Lösung.

 

Nun hab ich es nicht ganz so gemacht wie ich es hier beschrieben habe.

Als TIPP, gebe ich mit. Die Logon Scripte entweder gleich in VB, KIX, DELPHI usw. zu schreiben.

Denn es gibt viel mehr möglichkeiten als in den einfachen CMD scripten.

 

Ich habe jetzt alles in KIX umgeschieben und mir kamen dadurch noch viel mehr IDEEN die ich dann umsetzen konnte.

Da ich ja in den Win9x zeiten schon mit KIX einiges gemacht habe ging es wie am schnürchen.

 

Besten dank für die Hilfe und den zahlreichen Tipp`s

 

Markus

Link zu diesem Kommentar

Hallo Markus, Herzlichen Glückwunsch zur Lösung.

 

Das ist alles für dich privat? Oder stellst Du die Arbeitsstunden dafür einen Kunden in Rechnung und der fragt nicht, wofür soviel Zeit verbraucht wurde?

 

Übrigens, braucht man für KIX eigentlich eine Lizenz für den Server oder auch für jeden Client eine? Oder ist KIX Freeware?

 

Gruß

Edgar

Link zu diesem Kommentar

Hallo Lefg,

 

sagte ja schon, leider bin ich Arbeitslos, da die Fa. Pleite gegangen ist. Nun hab ich schwierigkeiten einen neuen Job zufinden.

Ich bin manchmal bei einer Leihfirma wenn die einen Auftrag haben, so bin ich mal da und dort. In der Hoffnung das ich mal wieder was festes finde.

Da ich vor ca. 10 Jahren mein Hobby zum beruf gemacht habe und da es auch heute noch mein Hobby ist, stört mich das überhaupt nicht was für andere zu machen. Ich nehme kein Geld sonder eine hand wäschte die andere und das funzt sehr gut.

 

Vor ca. 6 Jahren haben ich mein MCSE gemacht der sowieso nicht`s mehr wert ist. Würde ich einen machen in W2003 bzw XP dann würde auch dieser nicht`s wert haben da man ja lieber einen Anstellt der gerade frisch von der umschulung kommt und nicht allzuviel erfahrung hat (Ist billiger). Leider muss ich das so sagen und es kommt mir auch so vor. Mal sehen wenn ich glück habe dann nimmt mich eine Große Firma wenn die Ammis ihr ok geben.

 

Ich betreue nebenbei noch 3 Grundschulen und habe bei diesen schulen ein Konzept vorgelegt was ich umgesetzt habe. Nun ist der große aufwand soweit fertisch und will nur noch das eine oder andere verbessern. Da ja nun nur noch der Administrative aufwand besteht mache ich dies meist von zuhause aus (VPN mit TOKEN).

 

Aber mal so ganz unter uns, wenn ich mir so die eine oder andere Firma anschaue dann ist es so das diese meist für die einfachsten prob. noch nicht einmal eine lösung haben.

Muste erst vorkurzem in einer Großen firma bei einer umstellung helfen und die konnten noch nicht einmal bootfähige CD`s scripten mit Netzwerk usw. für einen Ghost Cast Server.

Da nehmen die Leute lieber zwei Disketten und warten bis die dinger durchgelaufen sind wenn nicht gerade die Disk im eimer ist. Aber lassen wir das mal lieber würde sonst jetzt hier zu lang werden und das muss ja nicht sein.

 

Hatte ja nur ein prob. gehabt und wollte eine lösung nun habe ich die Lösung gepostet damit diese Frage nicht nochmal gestellt werden braucht. Leider gibt es ja viel die lese.- und Suchfaul sind und stellen die Frage trotzdem :-).

 

KIXtart ist meines wissensnach für privat anwender Freeware und für Fimren soll es wohl um die 50$ kosten. Aber das weiss ich jetzt nicht so genau müstest Du mal selbst nachschaun http://www.kixtart.org/

 

So das wars dann ersteinmal

 

Markus

 

PS.: Manche dienge sollte man eher Mailen

 

markus@drachenclub-berlin.de

Link zu diesem Kommentar

Hi Markus,

 

der Thread hier fiel mir gerade wieder ein, als ich auf thethin.net ein schönes Tool gefunden habe, daß genau deine Anforderungen erfüllt. Und das ganze ohne Cross-Scripting ;)

 

http://thethin.net/consoletool.zip

 

Ein Aufruf von consoletool.exe /nomenu blendet das X aus, so daß das Fenster nicht mehr geschlossen werden kann.

Das Programm besteht aus einer einzigen .EXE, die bequem in NETLOGON etc. abgelegt werden kann.

 

Gruß

Andre

Link zu diesem Kommentar

Anders gefragt, muss es eine DOS-Box sein?

 

Du könntest ein VBS ablaufen lassen, ohne dass der User etwas davon sieht.

Nachdem es durchgelaufen ist lässt du ein Popup öffnen mit den Ergebnissen.

Sieht schöner aus und das Popup kann man selbstschließend machen.

 

Das Script ist in dieser Form nicht getestet!!!

############################

Option Explicit

On Error Resume Next

 

Dim WSHNetwork, WSHShell, CRLF, objArgs, strMsg, strCompany, i, colDrives

Dim colPrinters, strUserName, strLogonSRV, strPrintSRV, strFileSRV, strDomain

Dim nReturnCode, nSecondsToWait

 

CRLF = Chr(13) & Chr(10)

strLogonSRV = "DC"

strPrintSRV = "Printserver"

strFileSRV = "FileSErver"

 

Set WSHNetwork = Wscript.CreateObject("WScript.Network")

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set objArgs = Wscript.Arguments

 

' ----------------------------------------------------------

' Synchronisieren der Zeit mit dem Domänenkontoller

nReturnCode = wshShell.Run("net time \\" & strLogonSRV & " /set /yes", 0, TRUE)

If (nReturnCode <> 0) Then

MsgBox "Es war nicht möglich die lokale Uhrzeit zu synchronisieren." & vbNewLine &_

"Bitte melden Sie sich beim System-Administrator.",48,"Logon Script Fehler"

Else

strMsg = "Zeitsynchronisation mit """ & strLogonSRV & """ erfolgreich" & CRLF & CRLF

End If

 

' ----------------------------------------------------------

' Einrichten der Netzlaufwerke

strCompany = "Firma"

strDomain = WSHNetwork.UserstrDomain

strUserName = ""

On Error Resume Next

Do While strUserName = ""

strUserName = WSHNetwork.strUserName

loop

 

WSHNetwork.RemoveNetworkDrive "H:"

WSHNetwork.MapNetworkDrive "H:", "\\" & strFileSRV & "\home\" & strUserName

WSHNetwork.RemovePrinterConnection "Drucker"

WSHNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker"

Set colDrives = WSHNetwork.EnumNetworkDrives

Set colPrinters = WSHNetwork.EnumPrinterConnections

 

' ----------------------------------------------------------

' Überschrift

strMsg = strMsg & CRLF & "Anmelde Ergebnisse" & CRLF & CRLF & _

"Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & _

WSHNetwork.ComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomain & CRLF

 

' ----------------------------------------------------------

' Anzeigen der erfolgreich verbunden Laufwerke

If colDrives.Count = 0 Then

strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF

Else

strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & CRLF

For i = 0 To colDrives.Count - 1 Step 2

strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)

Next

End If

 

' ----------------------------------------------------------

' Anzeigen der erfolgreich verbundenen Drucker

If colPrinters.Count = 0 Then

strMsg = strMsg & CRLF & CRLF & "Kein Netzwerk-Drucker ist verbunden." & CRLF

Else

strMsg = strMsg & CRLF & CRLF & "Verbundene Netzwerk-Drucker:" & CRLF

For i = 0 To colPrinters.Count - 1 Step 2

strMsg = strMsg & CRLF & colPrinters(i) & Chr(9) & colPrinters(i + 1)

Next

End If

 

Function zeit

zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)

End Function

 

WshShell.PopUp zeit & CRLF & CRLF & strMsg,10," " & strUserName & "@" & strCompany,64

 

Set WSHNetwork = Nothing

Set WSHShell = Nothing

Set objArgs = Nothing

Set colDrives = Nothing

Set colPrinters = Nothing

############################

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...