> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/dev-reference/simulating-a-runbook-environment.md).

# Simulación de un entorno de Runbook

Para desarrollar nuevos runbooks, puede que necesites habilitar RealmJoin.RunbookHelper para autenticarte como si estuvieras ejecutando dentro de un Runbook.

## Resumen

### Crear un registro de aplicación

Creamos un registro de aplicación de Azure para simular el inicio de sesión de estilo aplicación en Microsoft Entra.

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FAELajVV85Wm6a1Mwtmew%2Fimage.png?alt=media&amp;token=15d94203-906f-4d0f-8c7b-77e8e032201b" alt=""><figcaption><p>Crear un registro de aplicación</p></figcaption></figure>

### Conceder permisos

Concederemos los mismos permisos que tendría la identidad administrada. Usaremos el mismo [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) para este propósito.

Reemplace `{AppRegObjectId}` con el ID de objeto de su registro de aplicación.

```powershell
git clone https://github.com/hcoberdalhoff/approle-and-directoryrole-granter.git
cd "approle-and-directoryrole-granter\RealmJoinVnext"
. .\AllInOne.ps1 -appRegObjectId "{AppRegObjectId}"
```

### Crear y cargar un certificado de desarrollo

Ver [aquí ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)para ver un ejemplo de cómo crear un certificado de desarrollo de RunbookHelper. Reemplace `{Variables}` según corresponda.

El `{AppID}` se refiere al ID de aplicación / cliente del registro de aplicaciones.

Si no tiene un ID de suscripción específico, simplemente use una suscripción predeterminada de su Tenant. (En la mayoría de los casos no importa.)

```powershell
New-SelfSignedCertificate -Subject 'CN=AzureRunAsConnection, OU={AppID}, DC={TenantID}, O={SubscriptionID}' `
    -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(10) -KeySpec Signature | `
    Export-Certificate -FilePath "AzureRunAsConnection.cer"
```

Obtendrá un archivo `AzureRunAsConnection.cer` que cargará en los secretos del registro de aplicación.

{% hint style="info" %}
Si desea atender varias aplicaciones / entornos, puede reemplazar el valor predeterminado "AzureRunAsConnection" en`CN=AzureRunAsConnection` por un nombre personalizado al crear el certificado para ese entorno.

Entonces puede seleccionar con qué entorno/certificado (p. ej., "OtherEnv") conectarse usando `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

De esta manera puede acceder a varios entornos desde la misma máquina.
{% endhint %}

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2Fo2vVY6YO0gimSWg4XOfV%2Fimage.png?alt=media&amp;token=958b8b21-c0fa-464e-aba9-954c008eea8c" alt=""><figcaption><p>Carga del certificado</p></figcaption></figure>

### Uso

Solo use `Connect-RjRbGraph` para autenticarse en la aplicación.

Asegúrese de eliminar los certificados de desarrollo anteriores usando mmc.exe de su conjunto de certificados personales, si existen, para evitar conflictos y fallos de inicio de sesión.


---

# 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.realmjoin.com/es/dev-reference/simulating-a-runbook-environment.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.
