মাইক্রোসফ্ট পাওয়ারশেলকে সর্বত্র পাওয়ার-ব্যবহারকারী এবং অটোমেশন লেখকদের পছন্দ করার জন্য যথাসাধ্য চেষ্টা করছে। একই কাজটি করার জন্য .NET- এ সংকলনের কোডগুলি চলে গেল, এখন আপনার কেবল নোটপ্যাড.এক্সই এবং গুগল দরকার। অফিসে আমরা এর বড় অনুরাগী, বিশেষত যেহেতু এক্সচেঞ্জ 2007 এর ম্যানেজমেন্ট কনসোলটিতে আপনি পাওয়ারশেলে যা করতে পারেন তার সমস্ত কিছুই অন্তর্ভুক্ত করা হয়নি। মাইক্রোসফ্ট ইচ্ছাকৃতভাবে এমন কিছু বাস্তবায়িত করতে ব্যর্থ হয়েছিল যা কেবল একবারে দুর্দান্তভাবে সঞ্চালিত হয়ে যায়, সহজেই সেইভাবে বিকাশ করা যায়, যা আপনার যদি জটিল পরিবেশের মতো কোনও কিছু থাকে তবে সরলভাবে এর ব্যবহারকে বাধ্য করে।
মাইক্রোসফ্টের নতুন প্রজন্মের পণ্যগুলি পরিচালনা করা (উইন 7, উইন্ডোজ সার্ভার ২০০৮, এক্সচেঞ্জ ২০০//২০১০, এসকিউএল সার্ভার ২০০৮) সকলের কাছে অত্যন্ত সমৃদ্ধ পাওয়ারশেল হুক রয়েছে। রিমোট পাওয়ারশেল (পাওয়ারশেল ২.০ আইআইআরসি) একবার সার্ভার ২০০৮ আর 2 এর সাথে স্থাপন করা হয়ে গেলে এটি অটোমেশন লেখকদের জন্য আরও কার্যকর হয়ে উঠবে।
আমরা এটি দিয়ে কী করেছি:
- হেল্পডেস্ক ব্যবহারকারীদের নির্দিষ্ট কিছু অ্যাডমিন কাজের জন্য একটি ওয়েব-পৃষ্ঠা তৈরি করুন। ওয়েব-পৃষ্ঠাটি কমান্ডগুলি বন্ধ করে দেয় যা পাওয়ারশেলের চালিত হয়। এটি যে কাজ করে:
- এক্সচেঞ্জ 2007 মেলবক্স এবং হোম ডিরেক্টরি অন্তর্ভুক্ত সহ ব্যবহারকারী অ্যাকাউন্টগুলি তৈরি এবং মুছুন
- লক আউট অ্যাকাউন্টগুলি আনলক করে
- গোষ্ঠীগুলি তৈরি / মুছুন
- গ্রুপগুলি থেকে ব্যবহারকারীদের যুক্ত / সরান
- মেল-স্টোরের মধ্যে ব্যবহারকারীদের সরান
- পাসওয়ার্ড সেট করুন
- ইআরপি সিস্টেম থেকে এক্সট্রাক্ট নিন এবং রাতারাতি অ্যাক্টিভ ডিরেক্টরিতে গ্লোবাল-ঠিকানা-পুস্তক ডেটাতে চাপ দিন।
- লিগ্যাসি এক্সচেঞ্জডএন সমস্যা সমাধান করুন যা আমাদের এক্সচেঞ্জ 2003 থেকে এক্সচেঞ্জ 2007 মাইগ্রেশনের সাথে ক্রপ হয়েছিল। এক্সচেঞ্জ 2003 এ ব্যবহৃত প্রত্যেকের কাছে একটি এক্স 500 ঠিকানা যুক্ত করতে হয়েছিল fair মোটামুটি সংক্ষিপ্ত পাওয়ারশেল স্ক্রিপ্ট এটি ঠিক করে দিয়েছে fixed
- "গ্রুপ মেলবক্সগুলি" এর স্ক্রিপ্টযুক্ত তৈরি (এক্সচেঞ্জে ভাগ করা মেলবক্সগুলি যেখানে একাধিক ব্যবহারকারী মেলবক্সে অ্যাক্সেস পেয়ে থাকে), এটি লাথি মেরে ফেলার আগে আমাদের যে ডেটা প্রয়োজন তা প্রকৃতির কারণে একটি অন্যথায় ম্যানুয়াল প্রক্রিয়া। এটি এই মেলবক্সগুলির সেটআপটিকে ব্যাপকভাবে মানক করেছে।
- একটি স্ক্রিপ্ট তৈরি করেছে যা একটি নির্দিষ্ট রেজিস্ট্রি কী পুনরায় সেট করে এবং পরিষেবা পুনরায় চালু করার জন্য সমস্ত ডোমেনড মেশিনের মধ্য দিয়ে যায়। এটি সম্পূর্ণ হতে 18 ঘন্টা সময় নিয়েছে, তবে এটি কাজটি সম্পন্ন করেছে।
তাই হ্যাঁ, পাওয়ারশেল বেশ কিছু সময়ের জন্য আমাদের সাথে থাকবে।
সম্পাদনা : একটি কোড-নমুনা যুক্ত করা হচ্ছে, যেহেতু এটি অনুরোধ করা হয়েছিল
$ তালিকা = আমদানি-CSV ( "groupusers.csv")
$ Lastseengroup = $ তালিকা [0] .group
$ ADGroupPrefix = "grp.netware।"
$ ADGroupSuffix = "{redacted -, OU = গ্রুপ, ডিসি = ডোমেন, ডিসি = ডোমেন, ডিসি = ডোমেন the" বিন্যাসে
সাফ-পরিবর্তনশীল সদস্য তালিকা
ক্লিয়ার-ভেরিয়েবল অজানা
foreach ($ তালিকায় প্রবেশ)
যদি ($ ($ এন্ট্রি.group) -ne $ সর্বশেষ গ্রুপ) {
প্রতিধ্বনি "নতুন গোষ্ঠী across ($ এন্ট্রি.group) জুড়ে হোঁচট খেয়েছে, $ সর্বশেষগ্রুপে পরিবর্তিত প্রতিশ্রুতিবদ্ধ"
$ Newgroup = $ ADgroupPrefix + + $ lastseengroup
$ Newgroupdn = ' "'" CN = $ newgroup $ ADGroupSuffix, "+" '
প্রতিধ্বনি "g নতুন গোষ্ঠীর জন্য ডিএন পাচ্ছেন"
$ বিদ্যমানগোষ্ঠী = dsquery গ্রুপ ডোমেনরোট-নাম $ নতুন গ্রুপ
যদি (($ বিদ্যমানগোষ্ঠী -ne $ নাল)) {
dsmod গ্রুপ $ newgroupdn -chmbr $ সদস্য তালিকা
} অন্য {
dsadd গোষ্ঠী $ newgroupdn -scope u -secgrp হ্যাঁ-মেম্বারস list সদস্য তালিকা-নকশা "গ্রুপ eDirectory থেকে আমদানি করা"
}
সাফ-পরিবর্তনশীল সদস্য তালিকা
}
= ব্যবহারকারী = get-user $ ($ enter.member) -ররর অ্যাকশন সাইলেন্টলি কনটিনিউ
যদি ($ User.is अवैध) {
$ UserDN = $ User.distinguishedname
$ সদস্য তালিকা = $ সদস্য তালিকা + '"' +" D ইউজারডিএন "+ '"'
} অন্য {
$ Unknownusers = $ unknownusers + + $ ($ entry.member)
}
$ Lastseengroup = $ ($ entry.group)
}
dsadd গোষ্ঠী "cn = $ ADGroupPrefix $ lastseengroup $ ADGroupSuffix" -স্কেপ u -secgrp হ্যাঁ-সদস্যগণ $ সদস্য তালিকা
এটি পার্ল স্ক্রিপ্ট দিয়ে তৈরি একটি সিএসভি ফাইল নেয় এবং গোষ্ঠীর একটি সেট আপডেট করে। গোষ্ঠীটি ইতিমধ্যে উপস্থিত থাকলে, ফাইলটিতে উল্লিখিত সদস্যতার সাথে এটি প্রতিস্থাপন করে। গোষ্ঠীর অস্তিত্ব না থাকলে এটি তৈরি করে। এটি একমুখী সিঙ্ক। এছাড়াও, বেশ উত্পাদন এখনও না, কিন্তু বন্ধ।