# PowerShellRunspacePoolResourceBuilderExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.PowerShell](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell.md)
- Type: [PowerShellRunspacePoolResourceBuilderExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.powershell/powershellrunspacepoolresourcebuilderextensions.md)
- Kind: `Methods`
- Members: `2`

Extensions for the PowerShellRunspacePoolResourceBuilder.

## AddScript(IResourceBuilder<PowerShellRunspacePoolResource>, string, string)

- Name: `AddScript(IResourceBuilder<PowerShellRunspacePoolResource>, string, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<PowerShellScriptResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.PowerShell/PowerShellRunspacePoolResourceBuilderExtensions.cs#L30-L106)

Adds a PowerShell script resource to the distributed application.

```csharp
public static class PowerShellRunspacePoolResourceBuilderExtensions
{
    public static IResourceBuilder<PowerShellScriptResource> AddScript(
        this IResourceBuilder<PowerShellRunspacePoolResource> builder,
        string name,
        string script)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<PowerShellRunspacePoolResource>`)
- `name` (`string`)
- `script` (`string`)

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithReference(IResourceBuilder<PowerShellRunspacePoolResource>, IResourceBuilder<IResourceWithConnectionString>, string?, bool)

- Name: `WithReference(IResourceBuilder<PowerShellRunspacePoolResource>, IResourceBuilder<IResourceWithConnectionString>, string?, bool)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<PowerShellRunspacePoolResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.PowerShell/PowerShellRunspacePoolResourceBuilderExtensions.cs#L122-L136)

Adds a reference to an Aspire resource that implements IResourceWithConnectionString. The resource will be exposed as a PowerShell variable in the runspace that is named after the resource name.

```csharp
public static class PowerShellRunspacePoolResourceBuilderExtensions
{
    public static IResourceBuilder<PowerShellRunspacePoolResource> WithReference(
        this IResourceBuilder<PowerShellRunspacePoolResource> builder,
        IResourceBuilder<IResourceWithConnectionString> source,
        string? connectionName = null,
        bool optional = false)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<PowerShellRunspacePoolResource>`)
- `source` (`IResourceBuilder<IResourceWithConnectionString>`)
- `connectionName` (`string?`) `optional`
- `optional` (`bool`) `optional`

## Remarks

This method is not available in polyglot app hosts.

## ATS metadata

### Ignored by ATS

- Excluded from automatic Polyglot export.
