diff --git a/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/hooks/winrm.py b/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/hooks/winrm.py index 97c4ee16673c2..5c8783835d280 100644 --- a/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/hooks/winrm.py +++ b/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/hooks/winrm.py @@ -286,3 +286,12 @@ def run( raise AirflowException(f"WinRM operator error: {e}") finally: winrm_client.close_shell(shell_id) + + def test_connection(self): + try: + (r_code, std_out, std_err) = self.run("cd") + if r_code != 0: + raise RuntimeError(std_err) + return True, "Connection successful." + except Exception as e: + return False, str(e)