Câu trả lời:
Tôi đã thực hiện điều này trên OS X, cùng một lệnh tồn tại trên linux.
Theo trang web này . Có vẻ như là cách để tránh thêm tên người dùng vào tệp smbpasswd để sử dụngsmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT
. Có một cổng phải được mở để lệnh này hoạt động không?
Tôi đang sử dụng cùng một giải pháp như @JamesBarnett
, tôi vừa tạo một tập lệnh cũng nhận IP của bộ điều khiển miền (Tôi không bao giờ biết IP là gì khi tôi cần thay đổi mật khẩu) .
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookup
lệnh sẽ không làm việc như được đưa ra, bởi vì kỷ lục ldap là loại DNS SRV. Bạn cần thực hiện: nslookup -type=SRV ...etc...
và lọc nó một cách thích hợp (nó phức tạp hơn một awk đơn giản) hoặc tốt hơn nữa: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')
thay thế toàn bộ nslookup giữa các backticks mà bạn có, ở trên.
-a
phương tiện cờ "tên người dùng sau đây cần được bổ sung vào file smbpasswd địa phương". Có thể trang nam không chính xác; nhưng tôi nghi ngờ