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

Remote Ordnerstrukturen mit VBS entfernen

Frage Entwicklung VB for Applications

Mitglied: splitbeaver

splitbeaver (Level 1) - Jetzt verbinden

27.02.2012 um 21:03 Uhr, 4267 Aufrufe, 4 Kommentare

Zielsetzung: Nach Eingabe des Username und Netzwerkname (PC) Script per Button auslösen

Komme nicht mehr Weiter
Nach der Eingabe in die 2 Fenster (Netzwerkane,Username) welche immer wieder unterscheiden soll der Input Bereich die Eingaben an die Delete Zeile weitergeben.
Script soll erst nach dem Submit (Button klick) ausgeführt werden.
Benötigt man jeweils einen Button zum überleiten da es 2 Variablen sind ?
____________________________________________________________________
<form name="Formular"
method="post" onsubmit="return chkFormular()">
<pre>
Netzwerkname:&nbsp;<input type="text" size="30" name="pcname">
Username:&nbsp;<input type="text" size="30" name="usrname">

<input type="submit" value="Durchführen"><input type="reset" value="Abbrechen">

Daten bitte vor Bestätigen nochmals überprüfen !
</pre>
</form>

</body>
</html>

<script language="VBScript" type="text/javascript">

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

Delete "\\TESTPC\C$\Dokumente und Einstellungen\NAME\Lokale Einstellungen\Temp"
Delete "\\TESTPC\C$\Dokumente und Einstellungen\NAME\Lokale Einstellungen\Temp2"
Delete "\\TESTPC\C$\Dokumente und Einstellungen\NAME\Lokale Einstellungen\Temp3"

Wscript.Quit

Sub Delete( Strfolder)
On Error Resume Next
Dim Folder
Set Folder = fso.GetFolder(StrFolder)

For Each SubFolder in Folder.SubFolders
Delete SubFolder
If Folder.Attributes And 1 Then
Folder.Attributes = Folder.Attributes - 1
End if
SubFolder.Delete
Next

For Each File in Folder.Files
If File.Attributes And 1 Then
File.Attributes = File.Attributes - 1
End If
File.Delete
Next
End Sub

Bedanke mich im Vorraus für jede Hilfe
Mit freundlichen Grüßen
Mitglied: DevTig
27.02.2012 um 21:24 Uhr
Hallo erstmal,

wie ist das ganze denn verpackt ? Als HTML, ASP oder HTA ?

..oder würde es eine Batch tun mithilfe von psexec ?

Hier mal a weng Code zum löschen eines Verzeichnisses auf dem Remote PC.
TempVerzeichnisLöschen.bat
01.
pfad\psexec.exe \\%1 -u USERNAME -p PASSWORD "rd c:\Dokumente und Einstellungen\%2\Lokale Einstellungen\Temp\*.* /S /Q"
Aufruf des ganzen mit:
01.
TemVerzeichnisLöschen.bat Rechnername Username
Grüße
DevTig


Edit:
Was natürlich auch funktioniert - ohne psexec - ist, entsprechende Berechtigungen vorausgesetzt.
01.
rd \\RECHNERNAME\c$\Dokumente und Einstellungen\USERNAME\Lokale Einstellungen\Temp\*.* /S /Q
Bitte warten ..
Mitglied: splitbeaver
27.02.2012 um 21:41 Uhr
Das ganze ist als HTML verpackt - soll dann auf einem Server mit Admin rechten gehostet werden damit mehrere User das ganze ausführen können.
Rechnername soll dann mit der Eingabe aus dem Input feld Pcname ersetzt werden und beim Username durch usrname
Damit man das immer wieder ausführen kann - denke mir das es so die einfachste variante ist
Der Teil mit dem löschen hat eh schon gepasst - jedoch musste ich bei jeder delete Zeile immer die 2 Punkte händisch im editor ändern - sehr aufwändig
Damit möchte ich das mit einer Html Maske beseitigen
Bitte warten ..
Mitglied: DevTig
27.02.2012 um 22:40 Uhr
Ich würde das eher als ASP nutzen - funktioniert dan etwas besser.

Dann sollte es reichen die Felder pcname und usrname automatisiert zu übernehmen.
Am Ende könnte das ganze dann so aussehen - ungetestet natürlich
01.
<html> 
02.
<head>YOUR-HEADER-INFORMATION</head> 
03.
<body> 
04.
<table> 
05.
<tr><td>Netzwerkname:</td><td><input type="text" size="30" name="pcname"></td></tr> 
06.
<tr><td>Username:</td><td><input type="text" size="30" name="usrname"></td></tr> 
07.
<tr><td colspan="2" align="right"><input type="button" value="Durchführen" onclick="Delete(pcname.Value,usrname.Value)"><input type="button" value="Abbrechen" onclick="ResetFields()"></td></tr> 
08.
</table> 
09.
</body> 
10.
 
11.
<script language="vbscript"> 
12.
Sub ResetFields() 
13.
    pcname.Value = "" 
14.
    usrname.Value = "" 
15.
End Sub 
16.
 
17.
Sub Delete(ByVal strClientPC, ByVal strUsrName) 
18.
    On Error Resume Next 
19.
    Dim Folder 
20.
 
21.
    Dim TempFolders(2) 
22.
        TempFolders(0) = "\\" & strClientPC & "\C$\Dokumente und Einstellungen\" & strUsrName & "\Lokale Einstellungen\Temp" 
23.
        TempFolders(1) = "\\" & strClientPC & "\C$\Dokumente und Einstellungen\" & strUsrName & "\Lokale Einstellungen\Temp1" 
24.
        TempFolders(2) = "\\" & strClientPC & "\C$\Dokumente und Einstellungen\" & strUsrName & "\Lokale Einstellungen\Temp2" 
25.
 
26.
Set oFSO = CreateObject("Scripting.FileSystemObject") 
27.
 
28.
For i = 0 To Ubound(TempFolders) 
29.
    Set oFolder = fso.GetFolder(TempFolders(i)) 
30.
    For Each oFile in oFolder.Files 
31.
        'Delete each file forced 
32.
        oFSO.DeleteFile oFile,True 
33.
    Next        
34.
 
35.
    For Each SubFolder in oFolder.SubFolders 
36.
        'Delete each folder forced 
37.
        oFSO.DeleteFolder SubFolder,True 
38.
    Next 
39.
 
40.
Next 
41.
End Sub 
42.
 
43.
</script> 
44.
</html>
So kurz zur Erklärung:
Alle Temp Ordner werden im TempFolders-Array erfasst. Ermöglich ein späteres erweitern um n-Ordner.
Die Felder für PC-Name und Username werden beim klick auf durchführen automatisch übernommen. (Sofern das alles richtig funktioniert )

Das Script löscht alle Files im "Root" der Temp Ordner, die SubFolders werden komplett gelöscht ohne sie einzeln zu durchlaufen. Da das bei manchen Ordnern auf Problem stoßen kann ist zu testen ob es nicht sinnvoll ist eine zusätzliche DeleteSubfolder Routine einzubauen.

Soweit mal viel Spaß damit
Grüße
DevTig
Bitte warten ..
Mitglied: splitbeaver
28.02.2012 um 10:46 Uhr
Habe es jetzt ohne Html gelöst , ist einfacher
Danke Herzlich für die hilfe !


Dim a
a = inputbox ("Geben Sie einen PC Namen ein")

Dim b
b = inputbox ("Username eingeben")

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

Delete "\\"&a&"\C$\Dokumente und Einstellungen\"&b&"\Lokale Einstellungen\Temp"


Wscript.Quit

Sub Delete( Strfolder)
On Error Resume Next
Dim Folder
Set Folder = fso.GetFolder(StrFolder)

For Each SubFolder in Folder.SubFolders
Delete SubFolder
If Folder.Attributes And 1 Then
Folder.Attributes = Folder.Attributes - 1
end if
SubFolder.Delete
Next

For Each File in Folder.Files
If File.Attributes And 1 Then
File.Attributes = File.Attributes - 1
End If
File.Delete
Next
End Sub
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
Windows Remote App - Ausgabe in lokales Office (1)

Frage von fluluk zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

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 ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...