GUIなしでWindowsを実行しているシステムで、特定のドライブのシャドウコピーの定期的な作成をセットアップする方法を見つけられない明らかな方法はありますか?
ディスクプロパティの[シャドウコピー]タブに移動して[有効にする]ボタンをクリックすると、基本的にいくつかのスケジュールされたタスクが作成されます。これらのスケジュールされたタスクは、ある種のGUID各ボリュームに固有の?.
コマンドラインからシャドウコピーを有効にする簡単な方法があるはずですよね?
これは簡単なはずだと思いませんか。まあ、あなたは間違っているでしょう。そうではありません。
簡単に問題が解決しない場合は このスレッドを参照してください。彼らが難しい方法で試してみるところです 。私は物事を自動化するのが大好きですが、この場合、最初にGUIを使用するよりもはるかに多くの労力があると思います。
リモートで設定を構成する代わりに、グループポリシーを使用してスケジュールされたタスクを作成することもできます。ご指摘のとおり、通常の方法で作成されたタスクはボリュームIDを使用します。そのアクションは次のようになります。
_vssadmin.exe Create Shadow /AutoRetry=15 /For=\\?\Volume{f9d9bfa1-f506-f24f-f54f-fe6ef47fd6f4}\
_
したがって、もちろん、あなたにとっての課題は、すべてのコンピューターで機能するGPOを作成することです。
ボリュームIDを見つけて同じコマンドを呼び出す小さなpowershellスニペットをスケジュールにすることをお勧めします。
システムドライブに対してこれを実行したいと仮定します。その場合、次のようなコードはPowerShell 2.0以降で機能します。
_$volID = Get-WmiObject Win32_Volume | Where-Object { $_.DriveLetter -ieq $env:SYSTEMDRIVE } | Select-Object -ExpandProperty DeviceID
Start-Process 'vssadmin.exe' -ArgumentList "Create Shadow /AutoRetry=15 /For=$volID" -Wait
_
これはここでは2行で示されているので、何が起こっているのかをより簡単に確認できますが、外部スクリプトファイルなしでタスクを呼び出す場合(複雑になるため)、1行ですべてを記述する必要があります。行をセミコロンで区切ることができます。$()
などを使用して、ボリュームID検索行全体を文字列に埋め込むことができます。
Powershellの_-EncodedCommand
_パラメーターを使用して、引用符を処理することもできます。これにより、共有のどこかに座って読みやすい複数行のスクリプトを作成できます。そのスクリプトをbase64エンコードし、_-EncodedCommand
_を使用して全体をPowerShellに渡します。
このコードがあなたのニーズを満たすと仮定して、必要に応じてこれらのオプションを拡張できます。
これはPowerShellで使用するものです 。それは私のサイトへのリンクですが、ここに貼り付けるよりもずっとよく見えます。
#Enable Volume Shadow copy
clear
$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"
while("Y","N" -notcontains $Continue){$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"}
if ($Continue -eq "Y") {
#Enable Shadows
vssadmin add shadowstorage /for=C: /on=C: /maxsize=8128MB
vssadmin add shadowstorage /for=D: /on=D: /maxsize=8128MB
#Create Shadows
vssadmin create shadow /for=C:
vssadmin create shadow /for=D:
#Set Shadow Copy Scheduled Task for C: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00AM
Register-ScheduledTask -TaskName ShadowCopyC_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_AM"
#Set Shadow Copy Scheduled Task for C: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00PM
Register-ScheduledTask -TaskName ShadowCopyC_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_PM"
#Set Shadow Copy Scheduled Task for D: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00AM
Register-ScheduledTask -TaskName ShadowCopyD_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_AM"
#Set Shadow Copy Scheduled Task for D: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00PM
Register-ScheduledTask -TaskName ShadowCopyD_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_PM"
}
私の主な問題は、RSATツールがインストールされていても、Windows 7.0、8.1がリモートシステムでシャドウコピーを構成できないことです。
Windowsサーバーからツールを実行しなければならないことに気付いたので、リモートGUIメソッドは問題ありません。これを実現するためのさまざまなスクリプトおよびpowershellメソッドが機能しますが、ほとんどの状況では実際にはそれを必要としませんでした。
共有フォルダーのシャドウコピーを有効にして構成するには
1.コンピュータの管理を開きます。 2.コンソールツリーで、[共有フォルダー]を右クリックし、[すべてのタスク]をクリックして、[シャドウコピーの構成]をクリックします。 3.共有フォルダのシャドウコピーを有効にするボリュームをクリックし、[有効にする]をクリックします。 4.デフォルトのスケジュールとストレージ領域を変更するには、[設定]をクリックします。
ここにあります http://itsimple.info/?p=458