# 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/67afcca30f02c18687f9c5219313710af9706630/src/CommunityToolkit.Aspire.Hosting.PowerShell/PowerShellRunspacePoolResourceBuilderExtensions.cs#L27-L90)

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`)

## 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/67afcca30f02c18687f9c5219313710af9706630/src/CommunityToolkit.Aspire.Hosting.PowerShell/PowerShellRunspacePoolResourceBuilderExtensions.cs#L104-L112)

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`
