Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Gruppe auf Ordner hinzufügen mit VBScript

Frage Entwicklung VB for Applications

Mitglied: fidellen

fidellen (Level 1) - Jetzt verbinden

17.07.2007, aktualisiert 18.07.2007, 4151 Aufrufe, 6 Kommentare

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
Mitglied: bastla
17.07.2007 um 10:52 Uhr
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
Bitte warten ..
Mitglied: fidellen
17.07.2007 um 15:56 Uhr
Herzlichen Dank!!! Läuft wie gesschmiert!

Du warst mir eine sehr grosse Hilfe! Danke schön!!!


Für alle die, das Script sehen wollen:

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
Bitte warten ..
Mitglied: bastla
17.07.2007 um 16:10 Uhr
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
01.
Set colFolders = objWMIService.ExecQuery _
scheint übrigens " _" zu fehlen ...

Noch eine Anmerkung: Wenn Du auf das "Else" bei
01.
If FSO.FolderExists(Courses) Then 
02.
    FSO.DeleteFolder(Courses) 
03.
Else 
04.
...
verzichtest, brauchst Du nachher die Überprüfung und das ev Löschen von "EasyPlayer" nur einmal durchzuführen ...

Grüße
bastla
Bitte warten ..
Mitglied: fidellen
17.07.2007 um 16:29 Uhr
Danke für die Tipps!!

Das "_" ist bei mir gesetzt, scheint wohl mit der Formatierung verloren gegangen zu sein.

Herzlichen Dank nochmals!!

Grüsse

Fidellen
Bitte warten ..
Mitglied: Biber
17.07.2007 um 21:45 Uhr
Moin fidellen,

wäre schade um Dein netterweise veröffentlichtes Skript, wenn es so schwer lesbar ist.

Deshalb hier noch einmal in < code >-Formatierung:
01.
'------------snipp fidellenseinskript.vbs zum Gruppe-auf-Order-hinzufügen 
02.
Option Explicit 
03.
 
04.
 
05.
'************************************************************************* 
06.
'Initalisierung 
07.
'************************************************************************* 
08.
 
09.
Dim FSO 
10.
Dim Courses 
11.
Dim colFolders 
12.
Dim objFolder 
13.
Dim EasyPlayer 
14.
Dim objWMIService 
15.
Dim strComputer 
16.
 
17.
 
18.
'*************************************************************************** 
19.
'Besitz über Ordner übernehmen 
20.
'*************************************************************************** 
21.
 
22.
strComputer = "." 
23.
 
24.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
25.
Set colFolders = objWMIService.ExecQuery _ 
26.
    ("Select * From Win32_Directory Where Name = 'C:\\courses'") 
27.
 
28.
For Each objFolder in colFolders 
29.
    objFolder.TakeOwnershipEx 
30.
Next 
31.
 
32.
 
33.
'*************************************************************************** 
34.
'							Löschvorgang 
35.
'*************************************************************************** 
36.
 
37.
Set FSO = CreateObject("Scripting.FileSystemObject") 
38.
 
39.
Courses = "c:\courses" 
40.
EasyPlayer = "C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5" 
41.
 
42.
'Wenn c:\Courses existiert dann löschen... 
43.
 
44.
If FSO.FolderExists(Courses) Then 
45.
    FSO.DeleteFolder(Courses) 
46.
Else 
47.
 
48.
' ... wenn c:\Courses nicht existiert, dann überprüfen ob  
49.
' C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5 existiert und löschen... 
50.
 
51.
If FSO.FolderExists("C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5") Then 
52.
    FSO.DeleteFolder(EasyPlayer) 
53.
Else 
54.
 
55.
'... falls auch nicht existiert, dann Programmende 
56.
 
57.
    WScript.Quit 
58.
End If 
59.
End If 
60.
 
61.
 
62.
'Wenn C:\Courses gelöscht wurde, überprüfen ob  
63.
' C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5 existiert, und dann Löschen... 
64.
 
65.
If FSO.FolderExists("C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Easyplayer 2.5") Then 
66.
    FSO.DeleteFolder(EasyPlayer) 
67.
Else 
68.
 
69.
'... falls nicht existiert, dann Programmende 
70.
    
71.
	WScript.Quit 
72.
End If 
73.
 
74.
 
75.
'*************************************************************************** 
76.
'Script Beenden 
77.
'*************************************************************************** 
78.
 
79.
WScript.Quit 
80.
'------------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
Bitte warten ..
Mitglied: fidellen
18.07.2007 um 08:11 Uhr
Hi Biber!

Sorry, bin neu hier und kenne mich noch nicht ganz so gut aus! aber ich denke mit der Zeit werde ich das auch drinn haben!

Vielen Dank!

Gruss

fidellen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 7
AD-Benutzer einer Lokalen Gruppe hinzufügen(16Bit OU) (3)

Frage von WIZARDBOY zum Thema Windows 7 ...

Microsoft Office
Freigegebenen OneDrive Ordner zu meinem OneDrive hinzufügen (2)

Frage von takvorian zum Thema Microsoft Office ...

Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...