Top-Themen

Aktuelle Themen (A bis Z)

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

Remote-Ordner löschen

Mitglied: Borber

Borber (Level 1) - Jetzt verbinden

15.01.2010, aktualisiert 17:36 Uhr, 2435 Aufrufe, 4 Kommentare

Hallo,

ich habe mir ein Script gebastelt, das mir die lokalen Profile aller User bis auf die Administratoren, Default-Profile und das des eingeloggten Users löschen soll
Das Script scheint zu funktionieren, jedoch nicht bei jedem Profil
Es überspringt sehr oft den Ordner "Temporary Internet Files", da hier für das VB-Script unlöschbare Dateien liegen.

Wenn ich allerdings per einfacher .bat-Datei mittels

01.
 rd /S /Q "\\%Rechner%\c$\Dokumente und Einstellungen\%usrlogin%" 
lösche, geht das ohne Probleme


Hier ein Auszug aus meinem VB-Script:

01.
... 
02.
    If WMIping( Rechner ) = "OK" Then 'Rechner eingeschaltet?? 
03.
     
04.
    Set objFSO = CreateObject("Scripting.FileSystemObject")  
05.
    Set objFolder = objFSO.GetFolder("\\" & Rechner & "\\c$" & "\\Dokumente und Einstellungen")  
06.
 
07.
'eingeloggter username auslesen 
08.
    Set objWMIService = GetObject("winmgmts:\\" & Rechner & "\root\CIMV2") 
09.
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ 
10.
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly) 
11.
            
12.
'username bereinigen                               
13.
        For Each objItem In colItems 
14.
          strUser = Right(objItem.Username,Len("SysTor\")) 
15.
        Next 
16.
 
17.
 For Each Profile In objFolder.SubFolders  
18.
          Select Case (Profile.Name) 'Problem mit LCase() UCase() 
19.
            Case strUser 'username des eingeloggten Benutzers auslassen 
20.
              'msgBox Profile msgbox zu testzwecken 
21.
            Case "Administrator"  
22.
              'msgBox Profile 
23.
            Case "All Users" 
24.
              'msgBox Profile  
25.
            Case "Default User"  
26.
              'msgBox Profile 
27.
            Case "LocalService" 
28.
              'msgBox Profile   
29.
            Case "NetworkService"  
30.
              'msgBox Profile 
31.
            Case Else  
32.
              objfso.DeleteFolder Profile.Path, True 'true für die direkte Löschung 
33.
          End Select  
34.
      Next  
35.
          OutputFile.WriteLine("Rechner: " & Rechner & " bearbeitet." & vbrLF)     
36.
....
Mitglied: 45877
15.01.2010 um 13:22 Uhr
Bitte warten ..
Mitglied: Borber
15.01.2010 um 13:41 Uhr
ja,

aber es soll direkt aus dem Script gelöscht werden ohne die Verwendung von delprof.
Geht mir auch mehr um die Lösung, warum aus dem Script die Ordner nicht gelöscht werden können, vom DOS-Prompt her schon.
Bitte warten ..
Mitglied: 60730
15.01.2010 um 16:09 Uhr
Servus,

wie Chewie schon schrieb...

btw: so ganz für garnix schreiben nicht mal die Redmonter Praktikanten eine extra Software für etwas, dasm man "auch" mit del / Rd lösen könnte.

Wer Profile per Hand im Explorer löscht / oder ein Script benutzt - dass das gleiche macht - darf das gerne tun - aber hier keine Hilfe erwarten.

  • Und da delprof eh ein Werkzeug ist, das per command-line gesteuert wird....
  • wohl keiner dein halben Scriptschnippsel ausprobieren wird - um das Problem zu erkennen...Dazu sollte es schon komplett und in Code Tags stehen

Wirst du wohl mit der Aussage leben müssen.


Gruß
Bitte warten ..
Mitglied: Borber
15.01.2010 um 17:33 Uhr
es geht mir wie oben gesagt eigentlich nur darum, warum das

.DeleteFolder

nicht die gleichen "Rechte" wie das RD in einer DOS-Box hat bzw. wie man das trotzdem machen kann, ohne auf delprof/DOS u.a. ausweichen zu müssen.


hier mal das ganze script (inklusive der Ausweichmthode über ein DOS-Prompt und das .DeleteFolder aus-remarked)
Von einer Rechner.txt liest er die Remote-Rechnernamen ein.

01.
On Error Resume Next 
02.
 
03.
Dim objFSO, objWSHShell, objRechnerliste, strRechner, arrRechner, strUser 
04.
Dim Rechner, Rechnerstatus, OutputFile 
05.
 
06.
Const ForReading   = 1 
07.
Const ForWriting   = 2 
08.
Const ForAppending = 8 
09.
Const Rechnerliste = "Rechner.txt" 
10.
Const Loeschliste  = "Loesch.txt" 
11.
Const wbemFlagReturnImmediately = &h10  
12.
Const wbemFlagForwardOnly = &h20 
13.
 
14.
Set objFSO      = CreateObject("Scripting.FileSystemObject") 
15.
Set objWSHShell = WScript.CreateObject("WScript.Shell") 
16.
 
17.
'     Datei existiert?, ja, also löschen - verwendung kommt später 
18.
If  objFSO.FileExists(objFSO.BuildPath(objFSO.GetParentFolderName(WScript.ScriptFullName), Loeschliste)) Then 
19.
      objFSO.deleteFile (Loeschliste) 
20.
End if 
21.
 
22.
If not objFSO.FileExists(objFSO.BuildPath(objFSO.GetParentFolderName(WScript.ScriptFullName), Rechnerliste)) Then 
23.
    MsgBox "Rechnerliste fehlt!",64, WScript.ScriptName 
24.
Else 
25.
    Set objRechnerliste   = objFSO.OpenTextFile(objFSO.BuildPath(objFSO.GetParentFolderName(WScript.ScriptFullName), Rechnerliste), ForReading) 
26.
    strRechner = objRechnerliste.ReadAll 
27.
    objRechnerliste.Close 
28.
End If 
29.
 
30.
strRechner = Replace(strRechner, chr(13), "") 
31.
arrRechner = Split(strRechner, vblf) 
32.
 
33.
set OutputFile = objFSO.OpenTextFile(objFSO.BuildPath(objFSO.GetParentFolderName(WScript.ScriptFullName), Loeschliste), ForWriting, true) 
34.
 
35.
For Each Rechner in arrRechner 
36.
    If WMIping( Rechner ) = "OK" Then 
37.
     
38.
    Set objFSO = CreateObject("Scripting.FileSystemObject")  
39.
    Set objFolder = objFSO.GetFolder("\\" & Rechner & "\\c$" & "\\Dokumente und Einstellungen")  
40.
 
41.
    Set objWMIService = GetObject("winmgmts:\\" & Rechner & "\root\CIMV2") 
42.
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ 
43.
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly) 
44.
                                           
45.
        For Each objItem In colItems 'Änderungswürdig.. 
46.
          strUser = Right(objItem.Username,Len("Systor\")) 
47.
        Next 
48.
 
49.
DQ = """" 
50.
                                          
51.
      For Each Profile In objFolder.SubFolders  
52.
          Select Case (Profile.Name) 'Problem mit LCase() UCase() 
53.
            Case strUser 'username des eingeloggten Benutzers auslassen 
54.
              'msgBox Profile 
55.
            Case "Administrator"  
56.
              'msgBox Profile 
57.
            Case "All Users" 
58.
              'msgBox Profile  
59.
            Case "Default User"  
60.
              'msgBox Profile 
61.
            Case "LocalService" 
62.
              'msgBox Profile   
63.
            Case "NetworkService"  
64.
              'msgBox Profile 
65.
            Case Else  
66.
              'objfso.DeleteFolder Profile.Path, True ' geht leider nicht immer.. aus-remarked 
67.
 
68.
              objWSHShell.run "cmd /C RD /S /Q " & DQ & Profile.Path & DQ    'geht, will aber keine dos-prompt bzw. externes Programm 
69.
          End Select  
70.
      Next  
71.
          OutputFile.WriteLine("Rechner: " & Rechner & " bearbeitet." & vbrLF)         
72.
    Else 
73.
        'do nothing while Remote-PC is offline 
74.
        OutputFile.WriteLine("Rechner: " & Rechner & " ist offline." & vbrLF) 
75.
    End If 
76.
 
77.
Next 
78.
 
79.
 
80.
OutputFile.Close 
81.
 
82.
objWSHShell.run ("Loesch.txt"),1,true 
83.
 
84.
'Freigaben 
85.
Set objWSHShell = Nothing 
86.
Set objFSO = Nothing 
87.
Set objFolder = Nothing 
88.
 
89.
'************************************************************** 
90.
Function WMIping( PCName ) 
91.
'************************************************************** 
92.
Dim objPing, objStatus 
93.
            WMIping = "OK" 
94.
    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & PCName & "'") 
95.
    For Each objStatus in objPing 
96.
        If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then 
97.
            WMIping = "-OK" 
98.
        End If 
99.
    Next 
100.
End Function 
101.
 
102.
 
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Powershell Drucker remote löschen
gelöst Frage von Rabauke84Windows Netzwerk4 Kommentare

Hallo zusammen, ich möchte gerne einen Netzwerkdrucker, remote an einem Win7-Client entfernen bzw. löschen. Folgendes habe ich mir schon ...

Windows Server

Ordner auf privaten Netzlaufwerk löschen

Frage von SebastianProWindows Server5 Kommentare

Hallo, wir haben ein Windows 7 Computer in einer Domäne (SBS 2011) hat ein Netzlaufwerk verbunden. Nun wurde von ...

Batch & Shell

Dateien (keine Ordner) löschen die älter sind als

gelöst Frage von siziigilendirmezBatch & Shell4 Kommentare

Guten Morgen ich möchte gerne mit einer power Shell Dateien löschen die älter als 30 tage sind. Die Dateien ...

Exchange Server

Berechtigung zum löschen im Öffentlichen Ordner

gelöst Frage von PostitExchange Server12 Kommentare

Hallo zusammen, vor der Problematik ein paar Eckdaten. - SBS 2003 Server mit eingerichteten Exchange - OS sind Windows ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL14 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)10 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...