CaPolice.xml
|
<?xml version="1.0"?> <doc> <assembly> <name>CaPolice</name> </assembly> <members> <member name="T:CaPolice.Authentication.GithubActionsTokenCredential"> <summary> Represents a token credential that retrieves an ID token from GitHub Actions OIDC and uses it to authenticate with Entra ID. </summary> </member> <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.#ctor(System.String,System.String,System.String,System.Net.Http.HttpClient)"> <summary> Initializes a new instance of the <see cref="T:CaPolice.Authentication.GithubActionsTokenCredential"/> class. </summary> <param name="tenantId">Override the tenant ID, as loaded from the `AZURE_TENANT_ID` variable</param> <param name="clientId">Override the client ID, as loaded from the `AZURE_CLIENT_ID` variable</param> <param name="idTokenAudience">Override the ID token audience, default `api://AzureADTokenExchange`</param> <param name="httpClient">Optional HTTP client to use for requests</param> </member> <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.GetToken(Azure.Core.TokenRequestContext,System.Threading.CancellationToken)"> <summary> Gets an access token from GitHub Actions OIDC and uses it to authenticate with Entra ID. </summary> <param name="requestContext"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.GetTokenAsync(Azure.Core.TokenRequestContext,System.Threading.CancellationToken)"> <summary> Gets an access token from GitHub Actions OIDC and uses it to authenticate with Entra ID asynchronously. </summary> <param name="requestContext"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="T:CaPolice.Authentication.GitHubTokenResponse"> <summary> Represents the response from the GitHub Actions OIDC token endpoint. </summary> </member> <member name="P:CaPolice.Authentication.GitHubTokenResponse.value"> <summary> Gets or sets the ID token value returned by the GitHub Actions OIDC token endpoint. </summary> </member> <member name="T:CaPolice.Commands.ConnectCaPoliceCommand"> <summary> <para type="synopsis">Connects to CaPolice to Graph.</para> <para type="description">This cmdlet connects to CaPolice to Graph using the specified authentication method.</para> </summary> <parameterSet> <para type="name">GitHub</para> <para type="description">Connect to Graph using GitHub Actions workload identity.</para> </parameterSet> <parameterSet> <para type="name">DefaultCredentials</para> <para type="description">Connect to Graph using DefaultAzureCredential with default settings.</para> </parameterSet> <parameterSet> <para type="name">ManagedIdentity</para> <para type="description">Connect to Graph using managed identity with default settings.</para> </parameterSet> <example> <para type="name">GitHub Actions workload identity</para> <para type="description">Connect to Graph using GitHub Actions workload identity.</para> <code>Connect-CaPolice -Github</code> </example> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.ClientId"> <summary> Specify the client ID for the authentication, is load from the environment variable AZURE_CLIENT_ID if not specified. </summary> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.TenantId"> <summary> Specify the Tenant ID for the authentication, is load from the environment variable AZURE_TENANT_ID if not specified. </summary> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.Github"> <summary> Try connect to Graph using GitHub Actions workload identity. </summary> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.UseManagedIdentity"> <summary> Try connect to Graph using Managed Identity. </summary> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.UseDefaultCredentials"> <summary> Try connect to Graph using DefaultAzureCredential. </summary> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.Test"> <summary> Test the connection by retrieving a token from Graph and output it to the console. </summary> </member> <member name="M:CaPolice.Commands.ConnectCaPoliceCommand.ProcessRecordAsync(System.Threading.CancellationToken)"> <inheritdoc /> </member> <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.BindDependencies"> <summary>Source generated dependency binding for: <see cref="T:CaPolice.Commands.ConnectCaPoliceCommand"/></summary> </member> <member name="T:CaPolice.Commands.ExportCaPolicePolicyCommand"> <summary> <para type="synopsis">Exports all conditional access policies from the connected tenant to JSON files.</para> <para type="description">This cmdlet retrieves all conditional access policies from Microsoft Graph and writes each policy to a file in the specified output directory. The file name is controlled by FileNameFormat, which supports {id}, {displayName}, {tag} and {version} as placeholders and may include path separators to create subdirectories. When a display name follows the convention "TAG: Title-vX.Y", {tag} resolves to the prefix before the colon and {version} resolves to the version suffix; both fall back to sensible defaults when absent. Run Connect-CaPolice before using this cmdlet.</para> </summary> <example> <para type="name">Export policies to a folder</para> <para type="description">Export all conditional access policies to the ./Policies directory using the default {id}.json file name.</para> <code>Export-CaPolicePolicy -OutputPath ./Policies</code> </example> <example> <para type="name">Export and overwrite existing files</para> <para type="description">Export all conditional access policies, overwriting any existing JSON files in the output directory.</para> <code>Export-CaPolicePolicy -OutputPath ./Policies -Force</code> </example> <example> <para type="name">Export with display name as file name</para> <para type="description">Export all conditional access policies, using each policy's display name as the file name.</para> <code>Export-CaPolicePolicy -OutputPath ./Policies -FileNameFormat "{displayName}.json"</code> </example> <example> <para type="name">Export into per-policy subdirectories</para> <para type="description">Export each policy into its own subdirectory named after its ID.</para> <code>Export-CaPolicePolicy -OutputPath ./Policies -FileNameFormat "{id}/policy.json"</code> </example> <example> <para type="name">Export with tag subdirectory and version file name</para> <para type="description">For policies following the "TAG: Title-vX.Y" naming convention, group files by tag and include the version. Policies without a tag fall back to their ID; policies without a version fall back to "latest".</para> <code>Export-CaPolicePolicy -OutputPath ./Policies -FileNameFormat "{tag}/{id}-{version}.json"</code> </example> </member> <member name="P:CaPolice.Commands.ExportCaPolicePolicyCommand.OutputPath"> <summary> The path to the directory where the JSON files will be written. The directory is created if it does not exist. </summary> </member> <member name="P:CaPolice.Commands.ExportCaPolicePolicyCommand.Force"> <summary> Overwrite existing JSON files in the output directory. Without this switch, existing files are skipped. </summary> </member> <member name="P:CaPolice.Commands.ExportCaPolicePolicyCommand.FileNameFormat"> <summary> Format string for the output file name. Supports {id}, {displayName}, {tag} and {version} as placeholders. {tag} is extracted from display names following the "TAG: Title" convention; falls back to {id} when absent. {version} is extracted from display names ending in "-vX.Y"; falls back to "latest" when absent. Path separators are allowed to create subdirectories under OutputPath, for example {tag}/{id}-{version}.json. Defaults to {id}.json. </summary> </member> <member name="M:CaPolice.Commands.ExportCaPolicePolicyCommand.ProcessRecordAsync(System.Threading.CancellationToken)"> <inheritdoc /> </member> <member name="P:CaPolice.Commands.ExportCaPolicePolicyCommand.BindDependencies"> <summary>Source generated dependency binding for: <see cref="T:CaPolice.Commands.ExportCaPolicePolicyCommand"/></summary> </member> <member name="T:CaPolice.Commands.NewCaPoliceSettingsCommand"> <summary> <para type="synopsis">Creates a new CaPolice settings file.</para> <para type="description">Creates a new settings JSON file for CaPolice. If -PolicyFolder is specified, all *.json policy files in that folder are read and added as policy entries; the tag, version, name and description are parsed from each policy's displayName field following the "TAG: Title-vX.Y" convention. When -NewTenant is specified, policy IDs are omitted and every imported policy's status is forced to "report".</para> </summary> <example> <para type="name">Create a minimal settings file</para> <para type="description">Create a new settings file for the given tenant with a single breakglass user.</para> <code>New-CaPoliceSettings -SettingsFile ./settings.json -TenantId "00000000-0000-0000-0000-000000000000" -BreakglassUsers "user-object-id"</code> </example> <example> <para type="name">Import policies from an exported folder</para> <para type="description">Create a settings file by importing all policy JSON files from a folder previously populated by Export-CaPolicePolicy.</para> <code>New-CaPoliceSettings -SettingsFile ./settings.json -TenantId "00000000-0000-0000-0000-000000000000" -BreakglassUsers "user-object-id" -PolicyFolder ./Policies</code> </example> <example> <para type="name">Create settings for a new tenant</para> <para type="description">Import policies from a folder, omitting IDs and setting all statuses to "report" for deployment to a new tenant.</para> <code>New-CaPoliceSettings -SettingsFile ./settings.json -TenantId "00000000-0000-0000-0000-000000000000" -BreakglassGroups "group-object-id" -PolicyFolder ./Policies -NewTenant</code> </example> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.SettingsFile"> <summary> Path to the settings file to create. Throws an error if the file already exists. </summary> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.TenantId"> <summary> The Entra ID tenant ID that the policies are managed in. </summary> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.BreakglassUsers"> <summary> One or more break-glass user object IDs that are excluded from all conditional access policies. </summary> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.BreakglassGroups"> <summary> One or more break-glass group object IDs that are excluded from all conditional access policies. </summary> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.PolicyFolder"> <summary> Path to a folder containing JSON policy files exported by Export-CaPolicePolicy. All *.json files in the folder are added as policy entries. The tag extracted from each policy's displayName is used as the settings key. </summary> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.NewTenant"> <summary> When specified, policy IDs are omitted and the status for every imported policy is set to "report". Use this when deploying existing policies to a new tenant. </summary> </member> <member name="M:CaPolice.Commands.NewCaPoliceSettingsCommand.ProcessRecordAsync(System.Threading.CancellationToken)"> <inheritdoc /> </member> <member name="P:CaPolice.Commands.NewCaPoliceSettingsCommand.BindDependencies"> <summary>Source generated dependency binding for: <see cref="T:CaPolice.Commands.NewCaPoliceSettingsCommand"/></summary> </member> <member name="T:CaPolice.Startup"> <inheritdoc/> </member> <member name="M:CaPolice.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <inheritdoc/> </member> <member name="M:CaPolice.Startup.ConfigurePowerShellLogging"> <inheritdoc/> </member> <member name="T:Svrooij.PowerShell.DI.GenerateBindingsAttribute"> <summary> Tell the source generator to generate code to bind the dependencies instead of using reflection. </summary> <remarks>Your class has to be a partial class and extend <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/>.</remarks> </member> <member name="T:Svrooij.PowerShell.DI.ServiceDependencyAttribute"> <summary> Mark a field or property as a dependency that has to be resolved by the <see cref="T:System.IServiceProvider"/>. </summary> </member> <member name="P:Svrooij.PowerShell.DI.ServiceDependencyAttribute.Required"> <summary> Should the dependency be required, if it is not found an exception will be thrown. </summary> </member> <member name="T:Svrooij.PowerShell.DI.PsStartup"> <summary> Base class for startup classes for PowerShell cmdlets. Create a class that extends this class and override <see cref="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>. </summary> <remarks> This class is called automatically by the <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/> constructor. Logging is automatically added to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>, please don't mess with the logging part. </remarks> </member> <member name="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <summary> Override this method to configure the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> needed by your application. </summary> <param name="services"><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> that you can add services to.</param> <remarks>Logging is setup for you, overriding it breaks stuff!</remarks> </member> <member name="M:Svrooij.PowerShell.DI.PsStartup.ConfigurePowerShellLogging"> <summary> Override this method to configure the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration"/> needed by your application. </summary> <code> return builder => { builder.MinimumLevel = LogLevel.Information; }; </code> </member> <member name="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"> <summary> Base class for cmdlets that use dependency injection. <para>Use the <see cref="T:Svrooij.PowerShell.DI.GenerateBindingsAttribute"/> to tell the compiler to generate binding code instead of using reflection</para> </summary> <typeparam name="TStartup">Your startup class that has to extend <see cref="T:Svrooij.PowerShell.DI.PsStartup"/> and extend <see cref="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.</typeparam> <remarks>You should override <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/>. A lot of other methods are blocked from overriding.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.#ctor"> <summary> <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/> constructor, called by PowerShell. </summary> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"> <summary> Override this method to process each record. </summary> <param name="cancellationToken">The cancellation token will be called when the user presses CTRL+C during execution</param> <remarks>Your overridden method will be called automatically!</remarks> <exception cref="T:System.NotImplementedException">When not overridden</exception> <exception cref="T:System.InvalidOperationException">When one or more dependencies marked as required are not found</exception> </member> <member name="P:Svrooij.PowerShell.DI.DependencyCmdlet`1.BindDependencies"> <summary> Override this property to bind dependencies manually, the service provider is provided by the base library. </summary> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecord"> <summary> You can call ProcessRecord, but you cannot override it! </summary> <remarks>Override the <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/> method, which is called automatically.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.BeginProcessing"> <summary> You can call BeginProcessing, but you cannot override it! </summary> <remarks>This is called by PowerShell automatically. And is used to bind dependencies.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.StopProcessing"> <summary> You can call StopProcessing, but you cannot override it! </summary> <remarks>This is called by PowerShell if the user cancels the request. If is used to trigger the cancellationToken on <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/>.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.EndProcessing"> <summary> You can call EndProcessing, but you cannot override it! </summary> <remarks>This is called by PowerShell automatically.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.ServiceProviderExtensions.BindDependencies(System.IServiceProvider,System.Object)"> <summary> Use reflection to find all properties and fields with the <see cref="T:Svrooij.PowerShell.DI.ServiceDependencyAttribute"/> and set the value of the property or field using the service provider. </summary> <param name="serviceProvider"><see cref="T:System.IServiceProvider"/> to use to resolve dependencies</param> <param name="obj">The object where the dependencies have to be set</param> <exception cref="T:System.ArgumentNullException">if required arguments are not set</exception> <exception cref="T:System.InvalidOperationException">if a required dependency is not found</exception>" </member> <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLogger"> <summary> <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that outputs to the PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/> </summary> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.#ctor(System.String,System.Func{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer)"> <summary> Constructor for <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLogger"/> </summary> <remarks>Called automatically by the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/></remarks> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})"> <inheritdoc/> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel)"> <inheritdoc/> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.BeginScope``1(``0)"> <inheritdoc/> </member> <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration"> <summary> Configuration for the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/> </summary> </member> <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.DefaultLevel"> <summary> Minimum level of log messages to output </summary> </member> <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.LogLevel"> <summary> Override the minimum level for specific categories (Type Names) </summary> </member> <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.IncludeCategory"> <summary> Specify if the log message should be prefixed with the category name </summary> </member> <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.StripNamespace"> <summary> Strip the namespace from the category name </summary> </member> <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer"> <summary> Container for the <see cref="T:System.Management.Automation.PSCmdlet"/> that is used by the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/> </summary> </member> <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"> <summary> <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> that outputs to the PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/> </summary> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.#ctor(Microsoft.Extensions.Options.IOptionsMonitor{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer)"> <summary> Creates a new instance of <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/> </summary> <param name="config">Auto loaded configuration</param> <param name="powerShellLoggerContainer">Container for the <see cref="T:System.Management.Automation.PSCmdlet"/></param> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.CreateLogger(System.String)"> <summary> Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance. </summary> <param name="categoryName">Category name to use</param> <returns><see cref="T:Microsoft.Extensions.Logging.ILogger"/></returns> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.Dispose"> <summary> Dispose the provider </summary> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PsCmdletExtensions.WriteLog(System.Management.Automation.PSCmdlet,Microsoft.Extensions.Logging.LogLevel,System.Int32,System.String,System.Exception)"> <summary> Write a log message to the provider PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/> </summary> <param name="cmdlet"><see cref="T:System.Management.Automation.PSCmdlet"/> that is used for the log message</param> <param name="logLevel"><see cref="T:Microsoft.Extensions.Logging.LogLevel"/> for the message, will be put in from the message</param> <param name="eventId">The ID for this specific event</param> <param name="message">Log message</param> <param name="e">(optional) <see cref="T:System.Exception"/></param> </member> <member name="M:Svrooij.PowerShell.DI.Logging.PowershellLoggingBuilderExtensions.AddPowerShellLogging(Microsoft.Extensions.Logging.ILoggingBuilder,System.Management.Automation.PSCmdlet)"> <summary> Adds a PowerShell logger named 'PowerShell' to the logger factory. </summary> <param name="builder"><see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> that you get when you call serviceCollection.AddLogging(builder =>)</param> <param name="cmdlet">(optional) <see cref="T:System.Management.Automation.PSCmdlet"/> where the log messages are sent to</param> <returns><see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to support chaining</returns> </member> <member name="M:Svrooij.PowerShell.DI.Logging.ServiceProviderLoggerExtensions.AddPowerShellLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},System.Management.Automation.PSCmdlet)"> <summary> Adds a PowerShell logger named 'PowerShell' to the service collection. </summary> <param name="services"><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> you want to add logging to</param> <param name="configure">(optional) action to configure the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration"/></param> <param name="cmdlet">(optional) <see cref="T:System.Management.Automation.PSCmdlet"/> where the log messages are sent to</param> <returns><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to support chaining</returns> <exception cref="T:System.ArgumentNullException">When one of the required arguments are not set</exception> </member> <member name="T:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext"> <summary> A synchronisation context that runs all calls scheduled on it (via <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/>) on a single thread. </summary> <remarks>This part is taken from <see href="https://github.com/NTTLimitedRD/OctopusDeploy.Powershell/blob/7653993ffbf3ddfc7381e1196dbaa6fdf43cd982/OctopusDeploy.Powershell/ThreadAffinitiveSynchronizationContext.cs">OctopusDeploy.Powershell</see> licensed under <see href="https://github.com/NTTLimitedRD/OctopusDeploy.Powershell/blob/7653993ffbf3ddfc7381e1196dbaa6fdf43cd982/LICENSE">MIT</see>. And was then optimized using Github Copilot.</remarks> </member> <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.Dispose"> <summary> Deconstructor that disposes the synchronization context. </summary> </member> <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> <summary> Add a new work item to the synchronization context's queue. </summary> </member> <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.RunSynchronized(System.Func{System.Threading.Tasks.Task})"> <summary> Add a new work item to the synchronization context's queue and wait for it to complete. </summary> </member> <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.RunSynchronized``1(System.Func{System.Threading.Tasks.Task{``0}})"> <summary> Add a new work item to the synchronization context's queue and wait for it to complete, returning the result. </summary> </member> </members> </doc> |