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, 4301 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
MFG
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 ..
Ähnliche Inhalte
Windows Server
Statt Remote Desktop nur RemoteApp (6)

Frage von IrgendEinName zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Festplatte aus RAID 1 entfernen und wieder einsetzen (6)

Frage von EVO7-2003 zum Thema Festplatten, SSD, Raid ...

Batch & Shell
gelöst Remote Prozesse Beenden (6)

Frage von Hanuta zum Thema Batch & Shell ...

Entwicklung
gelöst Grafische Darstellung - Fortschrittsanzeige VBS Skript (7)

Frage von Komoran12 zum Thema Entwicklung ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Firewall
Welche Firewall ? (18)

Frage von Cyberurmel zum Thema Firewall ...

Windows Server
gelöst Einzelnes Windows Update über GPO deinstallieren (16)

Frage von lordofremixes zum Thema Windows Server ...

Windows Server
GPO zum Deinstallieren von Office Update wird nicht ausgeführt (15)

Frage von lordofremixes zum Thema Windows Server ...