> For the complete documentation index, see [llms.txt](https://docs.openiam.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openiam.com/connector-configuration/microsoft/3-powershellconnectorupdate.md).

# Updating PowerShell connectors

This page describes how to update any PowerShell connector

This applies to OpenIAM .NET connectors of any type. There is no in-place upgrade: a connector is updated by **replacing** it, which means uninstalling the old one and installing the new one.

## Before you start

Check which version you are on, and which one you are moving to — see [Checking the connector version](/connector-configuration/microsoft/2-powershellconnectorsusage.md#checking-the-connector-version). It decides how much work the customization case below turns into: if the **major version is the same** (the first two numbers), your existing script files will most likely still work against the new connector.

## Updating a connector without customizations

{% stepper %}
{% step %}
**Find the connector folder**

Go to `C:\Connectors\`, or to the folder you installed the connector into.
{% endstep %}

{% step %}
**Back the folder up**

Compressing it to a `.zip` is enough. If the connector has been customized, this backup stops being a precaution and becomes the only copy of your changes — see [Updating a connector with customizations](#updating-a-connector-with-customizations).
{% endstep %}

{% step %}
**Find the connector in the installed-software list**

Go to **Control Panel** → **Uninstall a program** and locate your connector.
{% endstep %}

{% step %}
**Uninstall it**

Right-click it and select **Uninstall**.
{% endstep %}

{% step %}
**Take what you need from the folder, then delete it**

Uninstalling leaves behind logs, configuration records and any files created after installation, so decide what you need from them before continuing. The folder must then be deleted — a new connector cannot be installed over an existing one. The alternative is to install to a different location.
{% endstep %}

{% step %}
**Install the new connector**

Use the same parameters you used for the previous installation.
{% endstep %}
{% endstepper %}

## Updating a connector with customizations

Some deployments customize the connector scripts. The steps above still apply, but the backup in step 2 stops being a precaution and becomes the thing you work from — it is the only copy of your changes.

Once the new connector is installed, there are two ways back to a working state:

* **Replace the newly installed script files with your own**, if the new version is close enough to allow it. The major-version check above is what tells you.
* **Reapply your changes by hand** to the newly installed scripts, if it is not.

To judge which, extract the PowerShell files of the new connector — a test VM is a reasonable place to do this — and compare them against your backup. If OpenIAM made the customizations for you rather than you making them yourself, contact OpenIAM support rather than guessing.

{% hint style="info" %}
**The log module changed in connector version 5.36.0.0.** It moved to an independent service with log providers, and gained the ability to switch the log destination from the default SQLite database file to files holding one JSON record per log message. If your update crosses that version, expect logging to behave differently on the other side — see [Working with logs](/connector-configuration/microsoft/2-powershellconnectorsusage.md#working-with-logs).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.openiam.com/connector-configuration/microsoft/3-powershellconnectorupdate.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
