2013-07-11 57 views
29

Tôi đang trong quá trình viết tập lệnh PowerShell để sao lưu máy tính Windows bằng rsync. Để kết thúc này, tôi đang cố gắng sử dụng WMI từ kịch bản đã nói để tạo ra một bản sao Shadow không liên tục với sự tham gia của nhà văn (như là dường như được đề nghị cho các bản sao lưu).Tạo bản sao ẩn bằng ngữ cảnh "Sao lưu" trong PowerShell

Tôi phát hiện ra một câu hỏi khác (Accessing Volume Shadow Copy (VSS) Snapshots from powershell) một cách để tạo bản sao bóng nói chung, nhưng ví dụ được sử dụng "ClientAccessible" làm tham số ngữ cảnh, dẫn đến việc tạo Shadow Copy liên tục sự tham gia.

Trong khi tìm kiếm một giải pháp, tôi đã phát hiện ra rằng tôi có thể sử dụng lệnh sau đây để có được một danh sách các bối cảnh, mà tôi giả định được hiểu bởi WMI:

Get-WmiObject win32_shadowcontext | Out-GridView 

Nó danh sách có một bối cảnh đặt tên là " Sao lưu ", đó là thuận tiện những gì tôi muốn. Tôi tiếp tục cố gắng tạo ra một bản sao bóng không liên tục sử dụng bối cảnh đó:

$shadow = (Get-WmiObject -list win32_shadowcopy).Create("C:\", "Backup") 

Tuy nhiên, điều này dường như thất bại và nội dung của $ shadow biến được thiết lập để

ReturnValue  : 5 
ShadowID   : {00000000-0000-0000-0000-000000000000} 

Theo tài liệu có liên quan (Create method of the Win32_ShadowCopy class), giá trị trả lại có nghĩa là "Ngữ cảnh bản sao bóng không được hỗ trợ".

Tôi không thể tìm thấy bất kỳ tài liệu liên quan nào về lý do tại sao ngữ cảnh này không được hỗ trợ hoặc liệu có thể sử dụng nó không. Tôi cũng đã thử ngữ cảnh "FileShareBackup" và "AppRollback" mà không thành công.

Tôi cho rằng tôi thiếu một cái gì đó hiển nhiên, hoặc vì lý do nào đó, WMI thực sự không hỗ trợ bất cứ điều gì khác hơn là "clientAccessible" khi tạo bản sao bóng hoặc điều này phụ thuộc vào hệ điều hành (Tôi đang thử nghiệm trên Windows 7) , 64-bit)

Làm cách nào để làm việc này?

+2

Tôi chỉ viết chính điều tương tự (nhưng với C# và thư viện AlphaVSS), đây là những gì tôi đã học: Bạn sẽ cần gắn ảnh chụp nhanh để các tệp đồng bộ hóa, nhưng có thể gắn kết ảnh chụp nhanh phải có cờ 'NoAutoRelease' được đặt thành' true'. Ngoài ra để có 'NoAutoRelease' được đặt thành true, bạn phải có' Persistent' được đặt thành 'true', do đó, chỉ là một fyi, do đó bạn không dành quá nhiều thời gian cố gắng để có được một cái gì đó khác hơn là' ClientAccessable' để làm việc ('ClientAccessable' có cả hai biến được đặt thành 'true') –

+0

Bản sao bóng được tạo bằng NoAutoRelease được đặt thành False sẽ tự động bị xóa sau khi quá trình yêu cầu kết thúc ([link] (http://msdn.microsoft.com/en-us/library/windows/desktop /aa394427(v=vs.85).aspx)). Ban đầu tôi nghi ngờ rằng đó là vấn đề mà tôi đã nhìn thấy, nhưng thực tế là tôi có cùng một vấn đề với ngữ cảnh AppRollback cho thấy nó có thể không phải như vậy. Nhưng nói chung có thể gắn các bản sao bóng tự động phát hành như được mô tả tại [link] (http://www.goodjobsucking.com/?p=62). Tuy nhiên, tôi thích sử dụng powershell hơn là giải pháp được đề xuất ở đó. –

+2

Nếu bạn không thể làm cho WMI hoạt động, có thể thử tải [assembly AlphaVSS] (http://alphavss.codeplex.com/) vào Powershell. [Đây là cách tạo một ảnh chụp nhanh, gắn kết nó và xóa nó trong C#] (http://pastebin.com/XhVLyq0m), bạn sẽ có thể dịch nó thành PowerShell. –

Trả lời

1

Bóng $ của bạn có giá trị trả về 5 khi xem thông báo lỗi, id bóng của bạn có tất cả số không, bạn sẽ cần phải thêm 1 hoặc 2 vào cuối bản sao bóng khối trong sổ đăng ký bằng nhị phân hoặc dword ..

tìm thư mục trong sổ đăng ký có tên volsnap trong tìm kiếm regedit của bạn .volsnap.sys được tìm thấy trong thư mục C: \ Windows \ System32 \ drivers. Kích thước tập tin là 52.352 byte. Tệp volsnap chứa chữ ký số của Microsoft. Đảm bảo rằng các byte chính xác của nó.

Điều này xác nhận tính xác thực của nó. volsnap.sys có vẻ như là một tập tin được nén bởi một EXE-Packer. Kỹ thuật này thường được sử dụng bởi trojans để giữ cho kích thước tập tin nhỏ và cũng cản trở các nỗ lực gỡ lỗi.

Tuy nhiên, điều này không phải là lý do chính đáng để đoán trước mục đích độc hại, vì ngay cả những nhà sản xuất phần mềm chuyên nghiệp cũng có thiện chí tận dụng các tệp nén. Vì lý do này, 2% của tất cả các chuyên gia coi tập tin này là một mối đe dọa có thể xảy ra. Xác suất mà nó có thể gây hại là rất cao. Vui lòng xem xét các Nhận xét bổ sung từ những người dùng khác.

bóng id mặc định 00000000-0000-0000-0000-000000000000 00000000-0000-0000-0000-000000000005

nếu nó đã có 5 mà nó có thể thay đổi nó doesnt tới 1

hoặc tạo mã mới

bóng id $ bóng 00000000-0000-0000-0000-0000000000001

không chính xác như shown.you có thể phải thử differnt từ ngữ im không chắc chắn nếu $ sẽ w ork. nếu không thử phiên bản độc lập js.