Bagaimana cara mengaktifkan salinan bayangan volume pada drive tertentu (D :, E:, ...) dan mengatur jadwal menggunakan Powershell?
Saya hanya perlu beberapa petunjuk bagaimana memulai.
powershell
vss
Primoz
sumber
sumber
Jawaban:
Anda dapat membuat salinan Shadow di drive tertentu menggunakan objek WMI seperti yang dijelaskan di Artikel Microsoft .
Mengaktifkan salinan bayangan volume pada drive tertentu (D :, E:, ...) adalah dua hal
sumber
Butuh beberapa saat untuk menjalankannya (setelah menemukan kesalahan sederhana yang menyebabkannya gagal), dan fungsinya tidak lengkap. Saya ingin menambahkan kemampuan untuk mengaktifkannya di komputer jarak jauh, yang mungkin harus dilakukan melalui tugas yang dijalankan sekali. Jika ada yang memodifikasi ini dan menambahkannya, beri tahu saya!
Meskipun ini berfungsi, dan ini meniru apa yang terjadi ketika Anda melakukannya melalui GUI, itu masih terlihat dinonaktifkan untuk drive itu. Tetapi jika Anda mengaktifkannya, tidak ada yang berubah! (LOL) Saya menduga ada sesuatu yang perlu juga dimodifikasi dalam registri.
sumber
Setelah banyak mengacaukannya, membuatnya bekerja sedikit berbeda (juga terlihat muncul dengan baik melalui GUI).
Berteriak ke halaman ini untuk sedikit bantuan: https://social.technet.microsoft.com/forums/windowsserver/en-US/fb69840d-5f52-4711-8168-2faa23088233/shadow-copy-schedule-per-script
Kelemahan dari menggunakan schtasks (apa yang digunakan halaman itu) adalah bahwa Anda tidak dapat memiliki banyak pemicu sejauh yang saya bisa lihat.
Juga karena cara saya memecahkan masalah solusi (Digunakan bindiff berfungsi / tidak bekerja xml), saya tidak sepenuhnya yakin bahwa flag yang saya gunakan optimal.
sumber
Simpler berarti menggunakan schtasks yang ditampilkan di UI, kompatibel di PowerShell 2. Dirancang untuk build standar, mungkin perlu bermain-main dengan $ volumeinfo [x] saat membuat $ taskrun untuk menemukan volume yang sesuai.
Dapat mengkonfigurasi argumen berikut dengan tepat:
CATATAN: Sakelar / TR MEMBUTUHKAN ruang di bagian akhir, jika tidak ada di sana, ia mengganti backslash akhir dengan tanda kutip ganda yang menyebabkan VSS UI tidak mengenali tugas tersebut.
sumber
Inilah yang saya gunakan di PowerShell . Ini tautan ke situs saya, tetapi terlihat jauh lebih baik daripada yang ditempelkan di sini.
sumber
Shadow Copy sebenarnya diaktifkan dengan membuat tugas yang memanggil vssadmin.exe.
PowerShell 3.0 memiliki cmdlet yang memungkinkan Anda untuk membuat tugas, tetapi ini tergantung pada syscall yang tidak diimplementasikan hingga Windows 8 / Windows Server 2012. Anda perlu tiga cmdlet berikut untuk melakukan ini dengan cara PowerShell:
Di versi Windows yang lebih lama, Anda akan dibatasi untuk menggunakan schtasks.exe.
Namun - dan di sinilah jawaban ini berbeda dari yang lain - membuat tugas Salin Bayangan dengan cara ini bukan cara yang tepat untuk melakukan sesuatu, karena setiap perubahan yang Anda buat tidak akan muncul di GUI. Dengan demikian, pengguna yang tidak patuh mungkin tidak menyadari bahwa Shadow Copy telah diaktifkan, sehingga mengakibatkan mereka mengaktifkan instance kedua, atau lebih buruk menimpa tugas Anda secara diam-diam (jika Anda mengikuti konvensi penamaan Windows (VolumeShadowCopy {$ GUID})).
Apa yang perlu Anda lakukan, adalah membuat satu melalui GUI (lebih disukai pada Win7 / Win2008, karena versi Windows yang lebih baru menggunakan taskxml 1.2 secara default alih-alih taskxml 1.1 yang lebih kompatibel), ekspor tugas sebagai XML melalui schtasks, secara terprogram mengedit XML itu , simpan XML itu sebagai UTF16, dan imporlah. Untungnya, setelah Anda melewati GUI di awal, ini semua bisa dilakukan di commandline.
Saya ingin memposting kode, tetapi apa yang saya tulis adalah hak milik, dan saya tidak memiliki izin dari majikan saya. Saya berharap bahwa ujung XML akan, paling tidak, menghemat banyak waktu Anda. Saya baru saja menggunakan solusi XML di ratusan server yang dikelola, untuk sukses besar.
sumber
Terima kasih kepada semua orang, yang berkontribusi pada utas ini. Itu membantu dan menyelamatkan saya banyak pekerjaan. Skrip PowerShell berikut ini diuji pada Windows Server 2008 R2.
Contoh berikut membuat Foto setiap 2 jam antara Mo.-Fr. dari pukul 08: 00-18: 00 pada Volume C:
Jika Anda ingin mengubah jadwal, cukup edit atau ganti inline XML-Data.
Perhatian: Tidak ada garansi. Tidak bertanggung jawab. Silakan uji di lab Anda sendiri sebelum digunakan dalam lingkungan produksi.
sumber
Yang terbaik yang bisa saya lakukan adalah mengarahkan Anda ke sini , dan secara khusus tunjukkan yang ini dan yang ini .
Baik alamat apa yang Anda cari, tapi saya akan menunjukkan Anda dapat membuat salinan bayangan di titik mana pun karena VSS adalah layanan latar belakang yang berjalan sampai dipanggil.
sumber
Saya mendapatkan apa yang saya butuhkan dengan kode berikut, persyaratan saya adalah untuk mengkonfigurasi VSS tetapi juga perlu terlihat di GUI. Bagian kunci untuk membuatnya terlihat dalam GUI adalah menambahkan ID volume dalam nama tugas yang dijadwalkan seperti yang ditunjukkan oleh user261949 (itu agak aneh, jujur saya sedang mencari kunci registri tetapi saya sama sekali tidak menemukan apa-apa ..). Saya berakhir dengan kode berikut yang sesuai dengan kebutuhan saya:
Terima kasih semua atas informasi bermanfaat Anda!
sumber