フォルダの以前のバージョンをプログラムで検索して開く方法(PowerShell、WMIなどを使用)


18

Windows 8 Enterprise x64を実行しています。\\localhost\c$ネットワークフォルダーとして開き、コンテキストメニューを使用してサブフォルダーの[ プロパティ ] ウィンドウを開くと(\\localhost\c$\Deploy下の例のように)、[ 以前のバージョン ]タブが表示され、フォルダーの使用可能な以前のバージョンのリストを確認できます。対応するタイムスタンプとともに:

以前のバージョンタブ


バージョンを選択して[ 開く ]ボタンをクリックすると、新しいエクスプローラーウィンドウが開き、選択したフォルダーの以前のバージョンを参照できます。

[全般]タブの場所


アドレスバーには、タイムスタンプ(人間が判読できる長い形式)が各フォルダー名に追加される場所が表示されます。この場所をそこからコピーすると、別のエクスプローラーウィンドウまたはコマンドラインツールで有効なパスとして直接使用できません。しかし、サブフラッダーの[ プロパティ]ウィンドウを開くと、サブフォルダーの場所がのような形式で表示されます\\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy。このフォームは、エクスプローラーとコマンドラインの両方で実際に使用できます。

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でも:

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

魔法の名前@GMT-2013.08.27-04.01.18(おそらくGMTタイムゾーンのタイムスタンプを表す)を持つフォルダーは、実際にそこに存在するかのように動作しますがdir、名前を知らない限りコマンドを使用してその存在を発見することはできません。このフォルダーの下のすべてのファイルとフォルダーは読み取り専用です。ファイル、フォルダーの属性とアクセス許可など、作成、削除、名前の変更、変更はできません。管理者であるが、特定のファイルを表示する権限を持っていない場合、最初に格納フォルダーを非読み取り専用の場所にコピーするまで管理しない限り、それを変更することはできません。

質問:最初のスクリーンショットに示されているような特定のフォルダーのバージョンのリストを取得し、プログラムで新しいエクスプローラーウィンドウでそれらの1つを開くことは可能ですか(PowerShell、WMI、WSH、BAT、Win32 APIなどを使用して) )?@GMT-2013.08.27-04.01.18 プログラムのような魔法の名前で対応するフォルダのリストを取得することは可能ですか?

回答:


12

volrest入手できるユーティリティ、 Windows Server 2003のリソースキットツールは、フォルダの以前のバージョンを表示するために使用することができます。Windows 7でも機能し、Windows 8でも機能するはずです。以前のバージョンも復元できるため、パラメーターに注意してください。

使用例(以下に引用したリンクから):

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)

このプログラムの出力で、おそらく/B裸の形式のパラメーターと一緒に使用すると、リストされているバージョンのいずれかを探索するスクリプトを作成できるはずです。

詳細については、「Windows Server Hacks:コマンドラインを使用したシャドウコピーの復元」を参照してください 。


1

返信が遅くなりましたが、試してみましたがvolrest、Windows 10では動作しないようです。OPが観察したように、@GMT-yadayadayadaプロパティの[以前のバージョン]タブからエクスプローラーでフォルダーを表示するまでマジックフォルダーは表示されません。

私のために働いてきたアプローチは使用することmklinkです。問題のコンピューター/サーバーの管理者として、コマンドプロンプトを開き、次のように入力し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

[ シャドウコピーボリューム]フィールドを探し、次のコマンドを使用して、必要なものを新しいフォルダー(この場合はリストの最後のフォルダー)にマップします。

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

上記のように末尾のバックスラッシュを必ず追加してください。追加しないと機能しません。

これで、ハードドライブのコンテンツの以前のバージョンにアクセスするための独自のマジックフォルダーができました。

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

完了後に削除するには、を使用しますrmdir

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.