Registry / devops / apache-airflow-providers-microsoft-psrp

apache-airflow-providers-microsoft-psrp

JSON →
library3.2.6pypypi✓ verified 84d ago

Apache Airflow provider for Microsoft PowerShell Remoting Protocol (PSRP), enabling remote execution of PowerShell commands and scripts on Windows hosts. Current version 3.2.5, part of the official Airflow providers collection. Releases follow Airflow's provider release cadence.

pip install apache-airflow-providers-microsoft-psrp
INSTALL
IMPORT
SIG · APACHE-AIRFLOW-PRO
A
apache-airflow-providers-microsoft-psrp
devopspythonv3.2.6
Install
23.6s avg
Import
5934ms
Disk
252MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.2.6 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 6.118s · 252.6MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 23.6s · import 5.750s · 250MB
252MB installed
● package 252MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

PsrpOperator
from airflow.providers.microsoft.psrp.operators.psrp import PsrpOperator
Standard import after Airflow 2.x.
PsrpHook
from airflow.providers.microsoft.psrp.hooks.psrp import PsrpHook
Hook for PSRP connections.

Minimal DAG that runs a PowerShell command on a remote Windows host via PSRP. Requires a configured Airflow connection with host, login, password, etc.

from datetime import datetime from airflow import DAG from airflow.providers.microsoft.psrp.operators.psrp import PsrpOperator dag = DAG( 'example_psrp', start_date=datetime(2025, 1, 1), schedule_interval=None, catchup=False ) run_powershell = PsrpOperator( task_id='run_command', conn_id='psrp_default', # must be configured in Airflow connections command='Get-Process | Format-Table -AutoSize', dag=dag )
Debug
Known issues
breakingProvider package was renamed from 'airflow-provider-microsoft-psrp' to 'apache-airflow-providers-microsoft-psrp' around Airflow 2.0. Old import paths are deprecated.
fix
Use the correct install command: pip install apache-airflow-providers-microsoft-psrp and import from airflow.providers.microsoft.psrp.
affects: <2.0
gotchaThe PSRP operator communicates over WinRM (port 5985/5986). Ensure the target Windows host has WinRM enabled and configured for PSRP. Firewall rules must allow the port.
fix
On Windows, run: Enable-PSRemoting -Force. Adjust firewall rules to allow WinRM traffic.
affects: all
gotchaAuthentication methods (NTLM, Kerberos, Basic) require careful setup. Kerberos needs appropriate SPN and DNS configuration; Basic requires SSL.
fix
For testing, use NTLM with a local admin account. For production, prefer Kerberos or SSL with Basic.
affects: all
deprecatedSome older connection parameters (like 'port') may not be supported in newer provider versions. Always use the connection UI fields as documented.
fix
Recreate connections using the Airflow UI for the PSRP provider; avoid manual extras in connection string.
affects: >=3.0.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'airflow.providers.microsoft'
The provider package is not installed or Airflow providers namespace is missing.
fix
Run 'pip install apache-airflow-providers-microsoft-psrp' and ensure Airflow is installed (version 2.1+).
pypsrp.exceptions.WinRMTransportError: ('http', 'Connection refused')
WinRM service not running or port blocked on target Windows host.
fix
Verify WinRM is enabled: run 'Enable-PSRemoting -Force' on the Windows host and check firewall rules for port 5985 (HTTP) or 5986 (HTTPS).
pypsrp.exceptions.AuthenticationError: Authentication failed, check credentials
Incorrect username/password, or authentication protocol mismatch between client and server.
fix
Double-check the Airflow connection credentials. Ensure the authentication type (NTLM, Kerberos, Basic) matches the server configuration. For NTLM, use DOMAIN\username format.
Upgrade
Version history
3.2.6latest on PyPI · released Jun 7, 2026
Audit
Dependencies
apache-airflowrequiredThis is an Airflow provider; requires Airflow >=2.1.0 (for provider support)
pypsrprequiredUnderlying library for PowerShell Remoting Protocol (PSRP) client
Agent activity
60 hits · last 30 days
node
54
OpenAI (training)
2
Resources
apache-airflow-providers-microsoft-psrp — pip install apache-airflow-providers-microsoft-psrp · libregistry