Bir klasörün önceki sürümlerini program aracılığıyla nasıl bulabilir ve açabilirsiniz (PowerShell, WMI vb. Kullanarak)?


18

Windows 8 Enterprise x64 kullanıyorum. \\localhost\c$Ağ klasörü olarak açtığımda ve ardından bir bağlam menüsü kullanarak alt klasörün Özellikler penceresini açtığımda (örneğin \\localhost\c$\Deployaşağıdaki örnekte olduğu gibi), klasörün kullanılabilir önceki sürümlerinin listesini görebildiğim Önceki Sürümler sekmesi var, karşılık gelen zaman damgalarıyla birlikte:

Önceki Sürümler Sekmesi


Bir sürüm seçip düğmesini tıklarsam , klasörün seçilen önceki sürümüne göz atabileceğim yeni bir Gezgin penceresi açılır:

Genel Sekmesindeki Konum


Adres çubuğu, her klasör adına bir zaman damgasının (insan tarafından okunabilir uzun bir biçimde) eklendiği bir konum görüntüler. Bu konum, oradan kopyalandıysa, başka bir Gezgin penceresinde veya komut satırı aracında doğrudan geçerli bir yol olarak kullanılamaz. Ancak bir alt klasörün Özellikler penceresini açarsam, alt klasörün konumunu aşağıdaki gibi görüntüler \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy. Bu form aslında hem Explorer'da hem de komut satırında kullanılabilir:

C:\>dir \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy /s
 Volume in drive \\localhost\c$ is OSDisk
 Volume Serial Number is ▨▨▨▨-▨▨▨▨

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
04/11/2013  10:53 AM    <DIR>          Tools
               0 File(s)              0 bytes

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
04/11/2013  10:53 AM    <DIR>          x64
               0 File(s)              0 bytes

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools\x64

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
08/30/2012  06:10 PM           325,272 ▨▨▨▨▨▨▨▨.dll
               1 File(s)        325,272 bytes

     Total Files Listed:
               1 File(s)        325,272 bytes
               8 Dir(s)  70,546,321,408 bytes free

PowerShell'de de:

PS C:\> pushd \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy
PS Microsoft.PowerShell.Core\FileSystem::\\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy> ls -r


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         4/11/2013  10:53 AM            Tools


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         4/11/2013  10:53 AM            x64


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools\x64


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/30/2012   6:10 PM     325272 ▨▨▨▨▨▨▨▨.dll

Sihirli bir adı olan @GMT-2013.08.27-04.01.18(muhtemelen GMT saat dilimindeki bir zaman damgasını temsil eden) klasöre benziyor, sanki adını dirzaten bilmediğiniz sürece komutu kullanarak varlığını bulamıyorsunuz . Bu klasörün altındaki tüm dosya ve klasörler salt okunurdur: orada hiçbir şey oluşturulamaz, silinemez, yeniden adlandırılamaz veya değiştirilemez (dosya / klasör öznitelikleri ve izinleri dahil). Yöneticiyseniz, ancak belirli dosyaları görüntüleme izniniz yoksa, içeren bir klasörü ilk önce salt okunur olmayan bir konuma kopyalamayı başaramadıkça bunu değiştiremezsiniz.

Soru: İlk ekran görüntüsünde gösterilen gibi belirli bir klasörün sürümlerinin listesini almak ve bunlardan birini program aracılığıyla yeni bir Explorer penceresinde açmak mümkündür (PowerShell, WMI, WSH, BAT, Win32 API, vb. )? @GMT-2013.08.27-04.01.18 Programlı gibi sihirli adlara sahip ilgili klasörlerin listesini almak mümkün müdür ?

Yanıtlar:


12

volrestEdinilebilir yarar, Windows Server 2003 Kaynak Seti Araçları , bir klasörün önceki sürümlerini listelemek için kullanılabilir. Windows 7'de benim için çalıştı ve hala Windows 8'de çalışmalıdır. Önceki sürümleri de geri yükleyebileceğinden parametrelerinize dikkat edin.

Kullanım örneği (aşağıda verilen bağlantıdan):

C:\>volrest "\\test220\reports\Annual Reports 2004\doc.4.rtf"

VOLREST 1.1 - Previous Version command-line tool
(C) Copyright 2003 Microsoft Corp.

 Searching previous versions on \\test220\reports\annual report 2004\doc.4.rtf

07/01/2004  01:28 PM    37,786 \\test220\reports\@GMT-2004.07.01-18.34.35\annual 
                           report 2004\doc.4.rtf
07/01/2004  01:27 PM    37,740 \\test220\reports\@GMT-2004.07.01-18.28.02\annual 
                           report 2004\doc.4.rtf
07/01/2004  11:47 AM    37,690 \\test220\reports\@GMT-2004.07.01-18.24.41\annual 
                           report 2004\doc.4.rtf

            3 File(s)  113,216 bytes
            0 Dir(s)

Bu programın çıktısıyla, /Bçıplak biçim parametresiyle birlikte kullanıldığında , listelenen sürümlerden birini keşfedecek bir komut dosyası oluşturabilmeniz gerekir.

Daha fazla bilgi için, bkz. Windows Server Hacks: Komut Satırını Kullanarak Gölge Kopyaları Geri Yükleme .


1

Geç yanıt verdi, ancak denedim volrestve Windows 10'da çalışmıyor gibi görünüyor. OP gözlemlendiği gibi, @GMT-yadayadayadasihirli klasör klasörü Özellikler'deki Önceki Sürümler sekmesinden Gezgin'de görüntüleyene kadar görünmez.

Benim için işe yarayan bir yaklaşım kullanmaktır mklink. Söz konusu bilgisayarda / sunucuda yönetici olarak bir Komut İstemi açın ve şunu yazın vssadmin list shadows:

C:\WINDOWS\system32>vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Contents of shadow copy set ID: {5a052a28-96de-4924-b669-9e671b5ce069}
   Contained 1 shadow copies at creation time: 4/07/2019 4:31:12 PM
      Shadow Copy ID: {aaeab260-fef9-4ddc-9190-78d226de07a7}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

Contents of shadow copy set ID: {f2494e05-cb0c-4161-aa67-a545fe562b50}
   Contained 1 shadow copies at creation time: 11/07/2019 3:00:16 AM
      Shadow Copy ID: {c3e0566b-0b39-4080-b5ae-ca6e2a2c56c4}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

Contents of shadow copy set ID: {aa9f8acb-0a06-4584-9f9e-dee2269b88f3}
   Contained 1 shadow copies at creation time: 19/07/2019 3:45:20 AM
      Shadow Copy ID: {9e3044a8-19e9-4fa8-82ea-b97a836a71d2}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

Gölge Kopya Birimi alanını arayın ve ihtiyacınız olanı yeni bir klasöre (bu durumda listedeki sonuncusu) eşlemek için aşağıdaki komutu kullanın:

C:\>mklink /d C:\vsstest \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\
symbolic link created for vsstest <<===>> \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\

Sondaki ters eğik çizgiyi yukarıda yaptığım gibi eklediğinizden emin olun, aksi takdirde çalışmaz.

Artık sabit sürücünüzün içeriğinin önceki bir sürümüne erişmek için kendi sihirli klasörünüz olacak:

C:\>dir vsstest
 Volume in drive C is Local Disk
 Volume Serial Number is DEAD-BEEF

 Directory of C:\vsstest

26/06/2018  12:49 PM             1,024 .rnd
01/07/2019  01:01 PM    <DIR>          apps
20/12/2018  10:51 AM    <DIR>          ESD
29/05/2019  09:16 PM    <DIR>          inetpub
29/01/2018  12:33 PM    <DIR>          Intel
19/03/2019  02:52 PM    <DIR>          PerfLogs
04/07/2019  04:32 PM    <DIR>          Program Files
16/07/2019  12:40 PM    <DIR>          Program Files (x86)
30/05/2019  11:26 AM    <DIR>          Scripts
14/06/2019  10:46 AM    <DIR>          temp
16/10/2018  01:12 PM    <DIR>          Tools
28/05/2019  09:19 AM    <DIR>          Users
18/06/2019  09:22 AM    <DIR>          VMs
11/07/2019  03:39 AM    <DIR>          Windows
               1 File(s)          1,024 bytes
              14 Dir(s)  107,573,796,864 bytes free

İşlemi tamamladıktan sonra kaldırmak için tuşunu kullanın rmdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.