कंप्यूटर खातों को थोक में नए OU में ले जाएं


9

मेरे पास लगभग 2500 कंप्यूटरों के साथ एक OU है। मुझे उनमें से 580 को दूसरे OU में स्थानांतरित करने की आवश्यकता है। क्या बैच फ़ाइल के साथ ऐसा करने का कोई तरीका है? मेरे पास एक फ़ाइल है जिसमें कंप्यूटर्स (FQDN नहीं) है।

जवाबों:


9
FOR /f %%i in (C:\path\to\textfile.txt) do (

  dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com

)

इसके लिए आपको ध्यान रखना चाहिए।

संपादित करें: जब से मैंने dsmove का उपयोग किया है तब से यह थोड़ी देर हो गई है :) इसे उस ऑब्जेक्ट के DN की आवश्यकता है जो आप ले जा रहे हैं, इसलिए मैंने सूची से DN प्राप्त करने के लिए एक पाइप के सामने dsquery को जोड़ा और फिर इसे पाइप किया dsmove करने के लिए। यह सिर्फ NetBIOS नामों की सूची के लिए ठीक काम करना चाहिए।


+1 इसे 1 कमांड में करने के लिए
Nixphoe

1

निक्सफो के उत्तर में एक छोटी सी त्रुटि - toबनाम doऔर एक लापताdo

FOR /f %%a in (file.txt) do dsquery computer -name %%a >> fqdnfile.txt

FOR /f %%b in (fqdnfile.txt) do dsmove %%b -newparent OU=newOU,DC=domain,DC=local

1
ServerFault में स्वागत है। कृपया मौजूदा पोस्ट में सुझाए गए संपादन करने के लिए स्वतंत्र महसूस करें । इन सुझावों को समुदाय द्वारा अनुमोदन के लिए वीटो किया जाएगा।
jscott

1

यह मानते हुए कि आपके पास एक टेक्स्ट फ़ाइल में 1 और प्रत्येक पंक्ति पर आपके कंप्टूर्स के नाम हैं, आप उनमें से fqdn को एक्सपोर्ट करने के लिए निम्न कमांड को चलाएं।

FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt

फिर उन्हें स्थानांतरित करने के लिए निम्न आदेश चलाएँ। कृपया पहले यह परीक्षण करने के लिए dsmove के स्थान पर इको कमांड का उपयोग करें

FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local

इसका परीक्षण करें। मुझे पता है अगर यह काम नहीं करता है।


1
आपको dsmove afaik के लिए FQDN की आवश्यकता नहीं होनी चाहिए।
एमडीएमरा

मीठा, वास्तव में पहले बल्क में चीजों को स्थानांतरित करने की आवश्यकता नहीं है। लेकिन मैंने कमांड के बारे में बहुत कुछ पढ़ा है। जानकार अच्छा लगा! खुशी है कि मैं उसी उत्तर के करीब
पहुंच

1
@ ग्रे टक्स आपको स्क्रिप्ट को cmdनहीं में चलाना चाहिए powershell
jscott

1

1
यदि आप इसे बैच फ़ाइल से चला रहे हैं, तो हाँ, दो%। एक% अगर आप इसे कमांड लाइन से चला रहे हैं
Nixphoe

0

नए प्रवेश के लिए कदम से थोड़ा कदम: फ़ाइल प्राप्त करें। जहां कंप्यूटर नाम एक प्रति पंक्ति में सूचीबद्ध हैं।

PC-001
PC-002
PC-003

CMD खोलें और सुनिश्चित करें कि आपकी लाइन आपके file.txt के समान स्थान पर होने का संकेत दे रही है, फिर नीचे की रेखा चिपकाएं

FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt

यह आपकी फ़ाइल के रूप में एक ही स्थान पर एक फ़ाइल fqdnfile.txt बनाएगा

यह विशिष्ट नामों के साथ fqdnfile.txt को पार्स करेगा (प्रति पंक्ति एक)

ध्यान दें: आपको BAT फ़ाइल के लिए डबल %% और CMD के लिए एकल% का उपयोग करना चाहिए

फिर नीचे लाइन चलाएं।

FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"

ध्यान दें: यदि आपके नाम में रिक्त स्थान है, तो आपका अलग नाम "" में संलग्न होना चाहिए, जैसे मेरा बस

यदि सब कुछ सही ढंग से स्थानांतरित किया गया था, तो यह जांचने के लिए नीचे की पंक्ति को रन करें

FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.