| |
VB Skript (VBS)Terminal Server Sitzung aktiv oder getrennt | | | Autor: maxsal | Datum: 30.09.10 13:23 |
| Hi,
ich möchte für User auf einem Terminal Server, wenn die Sitzung nicht mehr aktiv ist, automatisch bestimmte Dateien löschen; ich habe alles hinbekommen, nur dass ich es nicht schaffe, dies auf "getrennte" Sitzungen einzuschränken.
geht das?
Vielen Dank
Max
Hier mein Code:
strComputer = "."
Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colSessions = objWMI.ExecQuery _
("Select * from Win32_LogonSession Where LogonType = 10")
If colSessions.Count <> 0 then
For Each objSession in colSessions
REM !!!hier müsste wohl die Prüfung passieren!!!
Set colList = objWMI.ExecQuery("Associators of " & _
"{Win32_LogonSession.LogonId=" & objSession.LogonId & "} " & "Where" & _
"AssocClass=Win32_LoggedOnUser Role=Dependent" )
For Each objItem in colList
Set fso = CreateObject("Scripting.FileSystemObject")
datei_suche = "C:\Multicash\unterschriften\" & objItem.Name &"\mcsign.dat"
If Fso.FileExists(datei_suche) then
fso.GetFile(datei_suche).Delete
Else
End If
Next
Next
End If | |
Re: Terminal Server Sitzung aktiv oder getrennt | | | Autor: Elwood | Datum: 30.09.10 13:52 |
| Hallo Max,
um den Status "getrennt" zu ermitteln, mußt du die wtsapi bemühen. Das wird dir aber mit VBS nicht gelingen. Mir stellen sich da ein paar grundsätzliche Fragen:
1. Warum willst du die Dateien löschen, sobald die Sitzungen getrennt sind?
2. Was passiert denn, wenn z.B. 2 (oder mehr) Sitzungen getrennt sind?
Dann treten Zugriffsprobleme auf, weil mehrere Sitzungen gleichzeitig im angegebenen Verzeichnis
die Dateien löschen wollen (Konflikt). Vermutlich wird es wohl nur eine Datei pro Benutzer geben,
und genau die soll gelöscht werden, oder?
3. Es verstößt gegen die Regeln, wenn ein normaler Benutzer auf die lokale Platte (hier c:\)
schreibend zugreift (Konflikte).
4. Was passiert eigentlich, wenn der Benutzer die getrennte Sitzung wieder aufnimmt und die Datei
weg ist?
Ich würde die Datei ohnehin im Tempverzeichnis (%temp%) des Benutzers anlegen. Jeder Benutzer hat im Terminal Server sein eigenes Tempverzeichnis und das wird nach der Abmeldung des Benutzers autom. gelöscht. (sehr Wartungsfreundlich).
ciao
Elwood
Wer sp?ter bremst, ist l?nger schnell | |
Re: Terminal Server Sitzung aktiv oder getrennt | | | Autor: maxsal | Datum: 30.09.10 14:34 |
| Hi Elwoodd,
danke für Deine Antwort;
zu Deinen fragen:
1. Warum willst du die Dateien löschen, sobald die Sitzungen getrennt sind?
wir starten ein Programm als remote app; in dem Programm ist als Teil des Sicherheitsprocederes diese Datei notwendig; daher kopieren wir diese Datei per Batch vor dem Programmstart dorthin. Wenn der Benutzer das Programm beendet, bleibt leider die Session offen, aber die datei gehört aus Sicherheitsgründen weg.
2. Was passiert denn, wenn z.B. 2 (oder mehr) Sitzungen getrennt sind?
Dann treten Zugriffsprobleme auf, weil mehrere Sitzungen gleichzeitig im angegebenen Verzeichnis
die Dateien löschen wollen (Konflikt). Vermutlich wird es wohl nur eine Datei pro Benutzer geben,
und genau die soll gelöscht werden, oder?
Ich würde die vbs vom Administrator alle 10 minuten laufen lassen; wenn die datei nicht da ist, überspringt das vbs den Löschbefehl.
3. Es verstößt gegen die Regeln, wenn ein normaler Benutzer auf die lokale Platte (hier c:\)
schreibend zugreift (Konflikte).
wird vom Admin ausgeführt
4. Was passiert eigentlich, wenn der Benutzer die getrennte Sitzung wieder aufnimmt und die Datei
weg ist?
da er das wieder über batch macht, wir die Datei neu hinkopiert;
Wenn Dir eine andere Lösung einfällt, ist das auch super; köntnest Du mir sonst sagen wie das mit der wtsapi gehtm, die sagt mir leider gar nichts... | |
Re: Terminal Server Sitzung aktiv oder getrennt | | | Autor: maxsal | Datum: 02.10.10 23:13 |
| Problem gelöst - ganz anders: durch Zufall ahben wir die Möglichkeit gefunden, mit subst z: \\tsclient\z das Laufwerk z:\ des jeweiligen Clients am remote computer zu übernehmen - viel eleganter!
Danke dennoch für dein Input,
Max | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|