diff options
Diffstat (limited to 'source4/scripting/python/samba/getopt.py')
-rw-r--r-- | source4/scripting/python/samba/getopt.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source4/scripting/python/samba/getopt.py b/source4/scripting/python/samba/getopt.py index a5a33929845..671142b552e 100644 --- a/source4/scripting/python/samba/getopt.py +++ b/source4/scripting/python/samba/getopt.py @@ -151,7 +151,7 @@ class CredentialsOptions(optparse.OptionGroup): def _set_simple_bind_dn(self, option, opt_str, arg, parser): self.creds.set_bind_dn(arg) - def get_credentials(self, lp): + def get_credentials(self, lp, fallback_machine=False): """Obtain the credentials set on the command-line. :param lp: Loadparm object to use. @@ -160,6 +160,15 @@ class CredentialsOptions(optparse.OptionGroup): self.creds.guess(lp) if self.no_pass: self.creds.set_cmdline_callbacks() + + # possibly fallback to using the machine account, if we have + # access to the secrets db + if fallback_machine and not self.creds.authentication_requested(): + try: + self.creds.set_machine_account(lp) + except Exception: + pass + return self.creds class CredentialsOptionsDouble(CredentialsOptions): |