{"id":23036,"library":"apache-airflow-providers-microsoft-winrm","title":"Apache Airflow Provider for Microsoft WinRM","description":"Apache Airflow provider to integrate with Microsoft WinRM for remote execution on Windows machines. Version 3.14.2 supports Airflow 2.19+ and Python >=3.10. Releases are published on PyPI with a cadence that aligns with Airflow provider updates.","status":"active","version":"3.14.2","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/microsoft/winrm","tags":["airflow-provider","winrm","windows","remote-execution","apache-airflow"],"install":[{"cmd":"pip install apache-airflow-providers-microsoft-winrm","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency; provider requires Airflow >=2.19","package":"apache-airflow","optional":false},{"reason":"Python WinRM client library","package":"pywinrm","optional":false}],"imports":[{"note":"Old import path from Airflow 1.x; current module is 'winrm' (not 'winrm_operator')","wrong":"from airflow.providers.microsoft.winrm.operators.winrm_operator import WinRMOperator","symbol":"WinRMOperator","correct":"from airflow.providers.microsoft.winrm.operators.winrm import WinRMOperator"},{"note":"Direct import from hooks package is misleading; must specify module 'winrm'","wrong":"from airflow.providers.microsoft.winrm.hooks import WinRMHook","symbol":"WinRMHook","correct":"from airflow.providers.microsoft.winrm.hooks.winrm import WinRMHook"}],"quickstart":{"code":"from datetime import datetime\nfrom airflow import DAG\nfrom airflow.providers.microsoft.winrm.operators.winrm import WinRMOperator\nwith DAG(dag_id='winrm_test', start_date=datetime(2023,1,1), schedule_interval=None, catchup=False) as dag:\n    task = WinRMOperator(\n        task_id='run_ipconfig',\n        winrm_host='192.168.1.100',\n        winrm_login='Administrator',\n        winrm_password='password',\n        command='ipconfig /all'\n    )","lang":"python","description":"Minimal DAG that runs 'ipconfig /all' on a remote Windows machine via WinRM."},"warnings":[{"fix":"Run 'winrm quickconfig' on the target Windows host and ensure port 5986 (HTTPS) or 5985 (HTTP) is open.","message":"WinRM connection times out or fails if the remote Windows machine does not have WinRM properly configured (e.g., listener enabled, firewall rules, HTTPS with valid certificate).","severity":"gotcha","affected_versions":"all"},{"fix":"Use documented WinRM parameters; do not mix SSH-style parameters.","message":"The 'winrm_*' parameters (winrm_host, winrm_login, etc.) are the primary input; the older 'ssh_*' style parameters are not supported.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Install with extras: pip install apache-airflow-providers-microsoft-winrm[kerberos] or configure HTTPS endpoint.","message":"The provider requires 'pywinrm' version compatible with the Kerberos or SSL authentication method you intend to use. Default HTTP may be rejected by modern Windows servers.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install apache-airflow-providers-microsoft-winrm' and restart the Airflow scheduler/webserver.","cause":"Provider package not installed or Airflow environment not restarted after installation.","error":"ModuleNotFoundError: No module named 'airflow.providers.microsoft.winrm'"},{"fix":"Ensure you pass both winrm_host and winrm_login when not using an Airflow connection URI.","cause":"Missing required parameter in WinRMOperator or incorrect connection ID used.","error":"KeyError: 'winrm_host'"},{"fix":"Verify remote host WinRM status with 'Test-WSMan -ComputerName 192.168.1.100' and check firewall rules.","cause":"Remote WinRM service not reachable (firewall, wrong IP, WinRM not enabled).","error":"Connection to (192.168.1.100) timed out. (connect timeout=60)"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}