Gruppe auf Ordner hinzufügen mit VBScript
Hallo miteinander.
Ich bin neu hier und finde euer Forum einfach Klasse. Ich hoffe ihr könnt mir mit meinem Problem auch behilflich sein.
Ich bin zur Zeit AZUBI in einem grossen Detailhandesunternehmen in der Schweiz. Nun wurde ich angefragt, ob ich mich mit VBS auskenne und ich ein kleines Script schreiben kann. Da ich VBS erst gerade in der Schule abgeschlossen hatte, dachte ich mir nichts dabei und willigte ein. Doch kaum bin ich die Aufgabe angegangen, merkte ich, dass ich mich wohl ein bisschen überschätzt habe... Mein Problem ist folgendes:
Beim Anmelden eines Benutzers, der über Adminrechte Verfügt, soll ein Ordner auf dem C:\ Laufwerk gelöscht werden. Eigentlich ein einfaches Unterfangen, doch leider kommt nun etwas dazu: Auf dem Ordner ist die Administratorengruppe nicht eingerichtet. Man müsste sie von Hand zuerst hinzufügen und das Script anschliessend laufen lassen. Nur, das Script soll für Endbenutzer zum Einsatz kommen, die an einer Schulung teilnehmen. Der Ordner soll sich beim anmelden des Benutzers löschen. Wie füge ich nun die Administratorengruppe mit einem VB Script uf dem Ordner hinzu? Habt ihr mir irgendwelche nützliche Tipps, oder gar Anleitungen zu dem Thema?
Mein Script besteht im moment nur aus dem Löschvorgang (Klappt, wenn Gruppe eingerichtet ist!)
Option Explicit
Dim FSO
Dim Ordner
Set FSO = CreateObject("Scripting.FileSystemObject")
Ordner = "c:\courses"
FSO.DeleteFolder(Ordner)
End If
WScript.Quit
Kann mir jemand helfen?
Vielen Dank schon mal
Liebe Grüsse
fidellen
Ich bin neu hier und finde euer Forum einfach Klasse. Ich hoffe ihr könnt mir mit meinem Problem auch behilflich sein.
Ich bin zur Zeit AZUBI in einem grossen Detailhandesunternehmen in der Schweiz. Nun wurde ich angefragt, ob ich mich mit VBS auskenne und ich ein kleines Script schreiben kann. Da ich VBS erst gerade in der Schule abgeschlossen hatte, dachte ich mir nichts dabei und willigte ein. Doch kaum bin ich die Aufgabe angegangen, merkte ich, dass ich mich wohl ein bisschen überschätzt habe... Mein Problem ist folgendes:
Beim Anmelden eines Benutzers, der über Adminrechte Verfügt, soll ein Ordner auf dem C:\ Laufwerk gelöscht werden. Eigentlich ein einfaches Unterfangen, doch leider kommt nun etwas dazu: Auf dem Ordner ist die Administratorengruppe nicht eingerichtet. Man müsste sie von Hand zuerst hinzufügen und das Script anschliessend laufen lassen. Nur, das Script soll für Endbenutzer zum Einsatz kommen, die an einer Schulung teilnehmen. Der Ordner soll sich beim anmelden des Benutzers löschen. Wie füge ich nun die Administratorengruppe mit einem VB Script uf dem Ordner hinzu? Habt ihr mir irgendwelche nützliche Tipps, oder gar Anleitungen zu dem Thema?
Mein Script besteht im moment nur aus dem Löschvorgang (Klappt, wenn Gruppe eingerichtet ist!)
Option Explicit
Dim FSO
Dim Ordner
Set FSO = CreateObject("Scripting.FileSystemObject")
Ordner = "c:\courses"
FSO.DeleteFolder(Ordner)
End If
WScript.Quit
Kann mir jemand helfen?
Vielen Dank schon mal
Liebe Grüsse
fidellen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63975
Url: https://administrator.de/forum/gruppe-auf-ordner-hinzufuegen-mit-vbscript-63975.html
Ausgedruckt am: 03.05.2025 um 11:05 Uhr
6 Kommentare
Neuester Kommentar
Hallo fidellen und willkommen im Forum!
An sich ist das Ganze ohnehin schon verkorkst, wenn auf einen Ordner von C: ein Administrator keinen Zugriff hat (zumindest verstehe ich Dein Problem so, dass die Administratorengruppe keine NTFS-Rechte am entsprechenden Ordner hat) - also sollte eher dort (am Besten auf Partitionsebene) angesetzt werden.
Um es trotzdem per Script lösen zu können, wäre es am sinnvollsten, vorweg den Besitz zu übernehmen - siehe dazu http://www.microsoft.com/technet/scriptcenter/resources/qanda/jan06/hey ...
Danach sollte auch das Löschen klappen.
Grüße
bastla
An sich ist das Ganze ohnehin schon verkorkst, wenn auf einen Ordner von C: ein Administrator keinen Zugriff hat (zumindest verstehe ich Dein Problem so, dass die Administratorengruppe keine NTFS-Rechte am entsprechenden Ordner hat) - also sollte eher dort (am Besten auf Partitionsebene) angesetzt werden.
Um es trotzdem per Script lösen zu können, wäre es am sinnvollsten, vorweg den Besitz zu übernehmen - siehe dazu http://www.microsoft.com/technet/scriptcenter/resources/qanda/jan06/hey ...
Danach sollte auch das Löschen klappen.
Grüße
bastla
Hallo fidellen!
Freut mich, dass es klappt und danke für die Rückmeldung.
Dein Script kann man/frau besser lesen, wenn Du es zwischen < code> und < /code> (jeweils ohne Leerstelle) stellst - dann kann man sicher auch die Einrückungen besser sehen.
In der Zeile
scheint übrigens " _" zu fehlen ...
Noch eine Anmerkung: Wenn Du auf das "Else" bei
verzichtest, brauchst Du nachher die Überprüfung und das ev Löschen von "EasyPlayer" nur einmal durchzuführen ...
Grüße
bastla
Freut mich, dass es klappt und danke für die Rückmeldung.
Dein Script kann man/frau besser lesen, wenn Du es zwischen < code> und < /code> (jeweils ohne Leerstelle) stellst - dann kann man sicher auch die Einrückungen besser sehen.
In der Zeile
Set colFolders = objWMIService.ExecQuery _
Noch eine Anmerkung: Wenn Du auf das "Else" bei
If FSO.FolderExists(Courses) Then
FSO.DeleteFolder(Courses)
Else
...
Grüße
bastla
Moin fidellen,
wäre schade um Dein netterweise veröffentlichtes Skript, wenn es so schwer lesbar ist.
Deshalb hier noch einmal in < code >-Formatierung:
Ich setze den Beitrag mal auf "Gelöst". @fidellen: beim nächsten Mal bitte selbst übernehmen.
Grüße
Biber
wäre schade um Dein netterweise veröffentlichtes Skript, wenn es so schwer lesbar ist.
Deshalb hier noch einmal in < code >-Formatierung:
'------------snipp fidellenseinskript.vbs zum Gruppe-auf-Order-hinzufügen
Option Explicit
'*************************************************************************
'Initalisierung
'*************************************************************************
Dim FSO
Dim Courses
Dim colFolders
Dim objFolder
Dim EasyPlayer
Dim objWMIService
Dim strComputer
'***************************************************************************
'Besitz über Ordner übernehmen
'***************************************************************************
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = 'C:\\courses'")
For Each objFolder in colFolders
objFolder.TakeOwnershipEx
Next
'***************************************************************************
' Löschvorgang
'***************************************************************************
Set FSO = CreateObject("Scripting.FileSystemObject")
Courses = "c:\courses"
EasyPlayer = "C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5"
'Wenn c:\Courses existiert dann löschen...
If FSO.FolderExists(Courses) Then
FSO.DeleteFolder(Courses)
Else
' ... wenn c:\Courses nicht existiert, dann überprüfen ob
' C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5 existiert und löschen...
If FSO.FolderExists("C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5") Then
FSO.DeleteFolder(EasyPlayer)
Else
'... falls auch nicht existiert, dann Programmende
WScript.Quit
End If
End If
'Wenn C:\Courses gelöscht wurde, überprüfen ob
' C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5 existiert, und dann Löschen...
If FSO.FolderExists("C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5") Then
FSO.DeleteFolder(EasyPlayer)
Else
'... falls nicht existiert, dann Programmende
WScript.Quit
End If
'***************************************************************************
'Script Beenden
'***************************************************************************
WScript.Quit
'------------snapp fidellenseinskript.vbs zum Gruppe-auf-Order-hinzufügen
Ich setze den Beitrag mal auf "Gelöst". @fidellen: beim nächsten Mal bitte selbst übernehmen.
Grüße
Biber