namespace DSInternals.PowerShell.Commands { using DSInternals.Common.Data; using System.Management.Automation; [Cmdlet(VerbsData.Save, "DPAPIBlob")] // TODO: Export None as resource. [OutputType("None")] public class SaveDPAPIBlobCmdlet : PSCmdletEx { [Parameter( Mandatory = true, HelpMessage = "TODO", ValueFromPipeline = true )] [ValidateNotNullOrEmpty] [Alias("DPAPIBlob", "Object", "Blob", "BackupKey")] public DPAPIBackupKey DPAPIObject { get; set; } [Parameter( Mandatory = true, HelpMessage = "TODO" )] [ValidateNotNullOrEmpty] [Alias("Path")] public string DirectoryPath { get; set; } protected override void BeginProcessing() { // TODO: Test that the path is a dir } protected override void ProcessRecord() { string resolvedPath = this.ResolveSinglePath(this.DirectoryPath); // TODO: Exception handling // TODO: Verbose // TODO: WhatIf this.DPAPIObject.SaveTo(resolvedPath); } } }