Exemple #1
0
 protected override void BeginProcessing()
 {
     if (NoClobber.ToBool())
     {
         if (File.Exists(Path))
         {
             ThrowTerminatingError(new ErrorRecord(
                                       new IOException("File already exists. Use -Force to override."),
                                       "FileExists",
                                       ErrorCategory.ResourceExists,
                                       null));
         }
     }
     System.Text.Encoding useEnc = System.Text.Encoding.ASCII;
     if (!String.IsNullOrEmpty(Encoding))
     {
         try
         {
             useEnc = System.Text.Encoding.GetEncoding(Encoding);
         }
         catch (ArgumentException)
         {
             // shouldn't happen as Encoding gets validated
             var msg = String.Format("Invalid encoding '{0}'", Encoding);
             ThrowTerminatingError(new PSArgumentException(msg).ErrorRecord);
         }
     }
     file = new StreamWriter(Path, false, useEnc);
 }
        // Module defining this command


        // Optional custom code for this activity


        /// <summary>
        /// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run.
        /// </summary>
        /// <param name="context">The NativeActivityContext for the currently running activity.</param>
        /// <returns>A populated instance of System.Management.Automation.PowerShell</returns>
        /// <remarks>The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.</remarks>
        protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context)
        {
            System.Management.Automation.PowerShell invoker       = global::System.Management.Automation.PowerShell.Create();
            System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName);

            // Initialize the arguments

            if (FilePath.Expression != null)
            {
                targetCommand.AddParameter("FilePath", FilePath.Get(context));
            }

            if (LiteralPath.Expression != null)
            {
                targetCommand.AddParameter("LiteralPath", LiteralPath.Get(context));
            }

            if (Encoding.Expression != null)
            {
                targetCommand.AddParameter("Encoding", Encoding.Get(context));
            }

            if (Append.Expression != null)
            {
                targetCommand.AddParameter("Append", Append.Get(context));
            }

            if (Force.Expression != null)
            {
                targetCommand.AddParameter("Force", Force.Get(context));
            }

            if (NoClobber.Expression != null)
            {
                targetCommand.AddParameter("NoClobber", NoClobber.Get(context));
            }

            if (Width.Expression != null)
            {
                targetCommand.AddParameter("Width", Width.Get(context));
            }

            if (NoNewline.Expression != null)
            {
                targetCommand.AddParameter("NoNewline", NoNewline.Get(context));
            }

            if (InputObject.Expression != null)
            {
                targetCommand.AddParameter("InputObject", InputObject.Get(context));
            }


            return(new ActivityImplementationContext()
            {
                PowerShellInstance = invoker
            });
        }
Exemple #3
0
        protected override void BeginProcessing()
        {
            if (NoClobber.ToBool())
            {
                if (File.Exists(Path))
                {
                    WriteError(new ErrorRecord(
                                   new Exception("File already exists. Use -Force to override."),
                                   "FileExists",
                                   ErrorCategory.ResourceExists,
                                   null));
                }
            }

            file = new StreamWriter(Path);
        }
Exemple #4
0
        // Module defining this command


        // Optional custom code for this activity


        /// <summary>
        /// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run.
        /// </summary>
        /// <param name="context">The NativeActivityContext for the currently running activity.</param>
        /// <returns>A populated instance of System.Management.Automation.PowerShell</returns>
        /// <remarks>The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.</remarks>
        protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context)
        {
            System.Management.Automation.PowerShell invoker       = global::System.Management.Automation.PowerShell.Create();
            System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName);

            // Initialize the arguments

            if (InputObject.Expression != null)
            {
                targetCommand.AddParameter("InputObject", InputObject.Get(context));
            }

            if (Path.Expression != null)
            {
                targetCommand.AddParameter("Path", Path.Get(context));
            }

            if (LiteralPath.Expression != null)
            {
                targetCommand.AddParameter("LiteralPath", LiteralPath.Get(context));
            }

            if (Force.Expression != null)
            {
                targetCommand.AddParameter("Force", Force.Get(context));
            }

            if (NoClobber.Expression != null)
            {
                targetCommand.AddParameter("NoClobber", NoClobber.Get(context));
            }

            if (IncludeScriptBlock.Expression != null)
            {
                targetCommand.AddParameter("IncludeScriptBlock", IncludeScriptBlock.Get(context));
            }


            return(new ActivityImplementationContext()
            {
                PowerShellInstance = invoker
            });
        }