जवाबों:
मैंने ओएस एक्स पर ऐसा किया है, लिनक्स पर एक ही कमांड मौजूद है।
इस साइट के अनुसार । उपयोग करने के लिए smbpasswd फ़ाइल में उपयोगकर्ता नाम जोड़ने से बचने का तरीका दिखता हैsmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT
। क्या कोई पोर्ट है जिसे इस कमांड के काम के लिए खोला जाना चाहिए?
मैं उसी समाधान का उपयोग कर रहा हूं जैसे @JamesBarnett
, मैंने अभी एक स्क्रिप्ट बनाई है जो डोमेन नियंत्रक आईपी भी प्राप्त करता है (मुझे कभी नहीं पता कि आईपी क्या है जब मुझे अपना पासवर्ड बदलने की आवश्यकता है) ।
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookup
के रूप में दिया आदेश काम नहीं करेगा, क्योंकि ldap रिकॉर्ड DNS प्रकार SRV की है। आपको प्रदर्शन करने की आवश्यकता है: nslookup -type=SRV ...etc...
और इसे उचित रूप से फ़िल्टर करें (यह एक साधारण awk से अधिक जटिल है), या बेहतर अभी तक: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')
बैकस्टिक्स के बीच पूरे nslookup की जगह जो आपके पास है, ऊपर।
-a
ध्वज का अर्थ है "उपयोगकर्ता नाम निम्नलिखित स्थानीय smbpasswd फ़ाइल में जोड़ा जाना चाहिए"। यह संभव है कि मैन पेज गलत हो; लेकिन मुझे शक है।