protected override void ProcessRecord() { var client = new CamundaClient(opts => { opts.WithCamundaRestApiUrl(RestApiUrl); opts.WithProxy(Proxy, ProxyCredential?.GetNetworkCredential()); }); if (Global) { PsClient.Global.CamundaClient = client; } else { WriteObject(client); } }
internal virtual void PrepareSession() { // make sure we have a valid WebRequestSession object to work with if (null == WebSession) { WebSession = new WebRequestSession(); } if (null != SessionVariable) { // save the session back to the PS environment if requested PSVariableIntrinsics vi = SessionState.PSVariable; vi.Set(SessionVariable, WebSession); } // // handle credentials // if (null != Credential && Authentication == WebAuthenticationType.None) { // get the relevant NetworkCredential NetworkCredential netCred = Credential.GetNetworkCredential(); WebSession.Credentials = netCred; // supplying a credential overrides the UseDefaultCredentials setting WebSession.UseDefaultCredentials = false; } else if ((null != Credential || null != Token) && Authentication != WebAuthenticationType.None) { ProcessAuthentication(); } else if (UseDefaultCredentials) { WebSession.UseDefaultCredentials = true; } if (null != CertificateThumbprint) { X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates; X509Certificate2Collection tbCollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByThumbprint, CertificateThumbprint, false); if (tbCollection.Count == 0) { CryptographicException ex = new CryptographicException(WebCmdletStrings.ThumbprintNotFound); throw ex; } foreach (X509Certificate2 tbCert in tbCollection) { X509Certificate certificate = (X509Certificate)tbCert; WebSession.AddCertificate(certificate); } } if (null != Certificate) { WebSession.AddCertificate(Certificate); } // // handle the user agent // if (null != UserAgent) { // store the UserAgent string WebSession.UserAgent = UserAgent; } if (null != Proxy) { WebProxy webProxy = new WebProxy(Proxy); webProxy.BypassProxyOnLocal = false; if (null != ProxyCredential) { webProxy.Credentials = ProxyCredential.GetNetworkCredential(); } else if (ProxyUseDefaultCredentials) { // If both ProxyCredential and ProxyUseDefaultCredentials are passed, // UseDefaultCredentials will overwrite the supplied credentials. webProxy.UseDefaultCredentials = true; } WebSession.Proxy = webProxy; } if (-1 < MaximumRedirection) { WebSession.MaximumRedirection = MaximumRedirection; } // store the other supplied headers if (null != Headers) { foreach (string key in Headers.Keys) { // add the header value (or overwrite it if already present) WebSession.Headers[key] = Headers[key].ToString(); } } }
/// <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 Sytem.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 (NoEncryption.Expression != null) { targetCommand.AddParameter("NoEncryption", NoEncryption.Get(context)); } if (CertificateCACheck.Expression != null) { targetCommand.AddParameter("CertificateCACheck", CertificateCACheck.Get(context)); } if (CertificateCNCheck.Expression != null) { targetCommand.AddParameter("CertificateCNCheck", CertificateCNCheck.Get(context)); } if (CertRevocationCheck.Expression != null) { targetCommand.AddParameter("CertRevocationCheck", CertRevocationCheck.Get(context)); } if (EncodePortInServicePrincipalName.Expression != null) { targetCommand.AddParameter("EncodePortInServicePrincipalName", EncodePortInServicePrincipalName.Get(context)); } if (Encoding.Expression != null) { targetCommand.AddParameter("Encoding", Encoding.Get(context)); } if (HttpPrefix.Expression != null) { targetCommand.AddParameter("HttpPrefix", HttpPrefix.Get(context)); } if (MaxEnvelopeSizeKB.Expression != null) { targetCommand.AddParameter("MaxEnvelopeSizeKB", MaxEnvelopeSizeKB.Get(context)); } if (ProxyAuthentication.Expression != null) { targetCommand.AddParameter("ProxyAuthentication", ProxyAuthentication.Get(context)); } if (ProxyCertificateThumbprint.Expression != null) { targetCommand.AddParameter("ProxyCertificateThumbprint", ProxyCertificateThumbprint.Get(context)); } if (ProxyCredential.Expression != null) { targetCommand.AddParameter("ProxyCredential", ProxyCredential.Get(context)); } if (ProxyType.Expression != null) { targetCommand.AddParameter("ProxyType", ProxyType.Get(context)); } if (UseSsl.Expression != null) { targetCommand.AddParameter("UseSsl", UseSsl.Get(context)); } if (Impersonation.Expression != null) { targetCommand.AddParameter("Impersonation", Impersonation.Get(context)); } if (PacketIntegrity.Expression != null) { targetCommand.AddParameter("PacketIntegrity", PacketIntegrity.Get(context)); } if (PacketPrivacy.Expression != null) { targetCommand.AddParameter("PacketPrivacy", PacketPrivacy.Get(context)); } if (Protocol.Expression != null) { targetCommand.AddParameter("Protocol", Protocol.Get(context)); } if (UICulture.Expression != null) { targetCommand.AddParameter("UICulture", UICulture.Get(context)); } if (Culture.Expression != null) { targetCommand.AddParameter("Culture", Culture.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }
// 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 Sytem.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 (Method.Expression != null) { targetCommand.AddParameter("Method", Method.Get(context)); } if (UseBasicParsing.Expression != null) { targetCommand.AddParameter("UseBasicParsing", UseBasicParsing.Get(context)); } if (Uri.Expression != null) { targetCommand.AddParameter("Uri", Uri.Get(context)); } if (WebSession.Expression != null) { targetCommand.AddParameter("WebSession", WebSession.Get(context)); } if (SessionVariable.Expression != null) { targetCommand.AddParameter("SessionVariable", SessionVariable.Get(context)); } if (Credential.Expression != null) { targetCommand.AddParameter("Credential", Credential.Get(context)); } if (UseDefaultCredentials.Expression != null) { targetCommand.AddParameter("UseDefaultCredentials", UseDefaultCredentials.Get(context)); } if (CertificateThumbprint.Expression != null) { targetCommand.AddParameter("CertificateThumbprint", CertificateThumbprint.Get(context)); } if (Certificate.Expression != null) { targetCommand.AddParameter("Certificate", Certificate.Get(context)); } if (UserAgent.Expression != null) { targetCommand.AddParameter("UserAgent", UserAgent.Get(context)); } if (DisableKeepAlive.Expression != null) { targetCommand.AddParameter("DisableKeepAlive", DisableKeepAlive.Get(context)); } if (TimeoutSec.Expression != null) { targetCommand.AddParameter("TimeoutSec", TimeoutSec.Get(context)); } if (Headers.Expression != null) { targetCommand.AddParameter("Headers", Headers.Get(context)); } if (MaximumRedirection.Expression != null) { targetCommand.AddParameter("MaximumRedirection", MaximumRedirection.Get(context)); } if (Proxy.Expression != null) { targetCommand.AddParameter("Proxy", Proxy.Get(context)); } if (ProxyCredential.Expression != null) { targetCommand.AddParameter("ProxyCredential", ProxyCredential.Get(context)); } if (ProxyUseDefaultCredentials.Expression != null) { targetCommand.AddParameter("ProxyUseDefaultCredentials", ProxyUseDefaultCredentials.Get(context)); } if (Body.Expression != null) { targetCommand.AddParameter("Body", Body.Get(context)); } if (ContentType.Expression != null) { targetCommand.AddParameter("ContentType", ContentType.Get(context)); } if (TransferEncoding.Expression != null) { targetCommand.AddParameter("TransferEncoding", TransferEncoding.Get(context)); } if (InFile.Expression != null) { targetCommand.AddParameter("InFile", InFile.Get(context)); } if (OutFile.Expression != null) { targetCommand.AddParameter("OutFile", OutFile.Get(context)); } if (PassThru.Expression != null) { targetCommand.AddParameter("PassThru", PassThru.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }
// 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 Sytem.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 (ProxyAccessType.Expression != null) { targetCommand.AddParameter("ProxyAccessType", ProxyAccessType.Get(context)); } if (ProxyAuthentication.Expression != null) { targetCommand.AddParameter("ProxyAuthentication", ProxyAuthentication.Get(context)); } if (ProxyCredential.Expression != null) { targetCommand.AddParameter("ProxyCredential", ProxyCredential.Get(context)); } if (SkipCACheck.Expression != null) { targetCommand.AddParameter("SkipCACheck", SkipCACheck.Get(context)); } if (SkipCNCheck.Expression != null) { targetCommand.AddParameter("SkipCNCheck", SkipCNCheck.Get(context)); } if (SkipRevocationCheck.Expression != null) { targetCommand.AddParameter("SkipRevocationCheck", SkipRevocationCheck.Get(context)); } if (SPNPort.Expression != null) { targetCommand.AddParameter("SPNPort", SPNPort.Get(context)); } if (OperationTimeout.Expression != null) { targetCommand.AddParameter("OperationTimeout", OperationTimeout.Get(context)); } if (NoEncryption.Expression != null) { targetCommand.AddParameter("NoEncryption", NoEncryption.Get(context)); } if (UseUTF16.Expression != null) { targetCommand.AddParameter("UseUTF16", UseUTF16.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }