summaryrefslogtreecommitdiffstats
path: root/source4/scripting/python/samba/getopt.py
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/python/samba/getopt.py')
-rw-r--r--source4/scripting/python/samba/getopt.py11
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):