derwowusste
Goto Top

Recycle.bin auf Windows Core Server - wie wiederherstellen?

Hallo Kollegen!

Hat schon einmal jemand auf einem Windows Coreserver Dateien aus dem Recycler (c:\$Recycle.bin) wiederhergestellt? Ich sehe diese Dateien zwar, kann sie auch in andere Ordner kopieren, aber die Namen sind alle "kodiert", also z.B. RMKY4.xyz

Das ist auch auf Clientsystemen so, nebenbei bemerkt, nur kann man hier natürlich den Explorer nutzen, der sieht die alten Namen noch.

Content-Key: 205811

Url: https://administrator.de/contentid/205811

Printed on: April 25, 2024 at 06:04 o'clock

Member: ChrisDynamite
ChrisDynamite Apr 29, 2013 at 10:50:20 (UTC)
Goto Top
hi,

wie schauts aus mit remote per mstsc draufschalten und mal "in den papierkorb" hineinschauen? grüße chris
Member: DerWoWusste
DerWoWusste Apr 29, 2013 at 10:52:39 (UTC)
Goto Top
Hi.
Wenn man sich auf einen Coreserver per RDP schaltet, kann man das nicht tun, probiere es mal.
Member: colinardo
colinardo Apr 29, 2013 updated at 12:38:18 (UTC)
Goto Top
Hi DWW,
also an die Namen wie sie der Explorer darstellt kommst du nur programmatisch, d.h. z.B. mit einem VBS-Script wie diesem:

Set shell = CreateObject("Shell.Application")  
Set fso = WScript.CreateObject("Scripting.Filesystemobject")  
parseFolders fso.GetFolder("C:\$Recycle.Bin"), True  

Function parseFolders(strFldr,boolRecursion)

	Set objRecycleBinItems = shell.NameSpace(strFldr.Path).Items
	For Each obj In objRecycleBinItems
	     'Name der gelöschten Datei ausgeben  
             WScript.Echo obj.Name
	Next
	
	If boolRecursion Then
		For Each subFolder in strFldr.SubFolders
			parseFolders subFolder, True
		Next
	End If
End Function

Das ließe sich dann um eine Kopierfunktion erweitern die die Files alle an einen Ort kopiert.
Wenn du nur die Dateien eines bestimmten Benutzers auf dem Core-Servers wiederherstellen möchtest musst du den Pfad in Zeile 3 anpassen, und zwar hat jeder User einen eigenen Papierkorb innerhalb von C:\$Recycle.Bin der seiner SID entspricht. Obiges Script geht im Moment alle Papierkörbe durch.
Denke das Dir das aber als Denkanstoss ausreicht...

--edit hier gibt es auch noch ein Projekt dazu : http://www.codeproject.com/Articles/2783/How-to-programmatically-use-th ...

wiederherstellen der gelöschten Dateien(auf Laufwerk C:\) eines bestimmten Users in einen Restore-Ordner:
Zeile 1 und 2 noch anpassen
USERNAME = "Domain\User"  
RESTOREFOLDER = "C:\Temp\Restore"  
Set shell = CreateObject("Shell.Application")  
Set WshShell = WScript.CreateObject("Wscript.Shell")  
Set fso = WScript.CreateObject("Scripting.Filesystemobject")  
SID = getSid(USERNAME)
restoreDeletedItems fso.GetFolder("C:\$Recycle.Bin\" & SID)  

Function restoreDeletedItems(strFldr)
	Set objRecycleBinItems = shell.NameSpace(strFldr.Path).Items
	shell.NameSpace(RESTOREFOLDER).CopyHere shell.NameSpace(strFldr.Path).Items
End Function


Private Function getSid(strUsername)
	strComputer = "."  
	arrUser = Split(strUsername,"\")  
	If UBound(arrUser) > 0 Then
		strDomain = arrUser(0)
		strUser = arrUser(1)
	Else
		strUser = strUsername
		strDomain = wshshell.ExpandEnvironmentStrings("%computername%")  
	End If
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
	Set colItems = objWMIService.ExecQuery("Select * from Win32_UserAccount Where Name = '" & strUser & "' and Domain = '" & strDomain & "'")  
	For Each objItem in colItems
		getSID = objItem.SID
	Next
End Function

Grüße Uwe
Member: DerWoWusste
DerWoWusste Apr 29, 2013 updated at 12:09:53 (UTC)
Goto Top
Ok, nicht schlecht. Das rauskopieren müsste man sich also hindengeln. Na gut, ich werde es evtl. nie wieder brauchen, da ja normalerweise auf einem Coreserver nur in den Mülleimer gelangt, was auch über die GUI gelöscht wurde. Hier wurden tatsächlich über den öffnen-Dialog von notepad aus Versehen falsche Skripte gelöscht. Diese neu zu erstellen (bzw. aus dem Mülleimer manuell durch Try-and-error wieder rauszufummeln) erscheint hier einfacher, zumal beim Coreserver im Gegensatz zu win7 auch gar keine Rückmeldung auf das VB-Skript kommt.

Vielen Dank, sehr interessant.
Member: colinardo
colinardo Apr 29, 2013 at 12:11:34 (UTC)
Goto Top
hab das restore-script noch oben angefügt
Member: DerWoWusste
DerWoWusste Apr 29, 2013 at 12:25:41 (UTC)
Goto Top
Sehr schön, hat funktioniert! Danke!