PowerShell - proxyAddresses অ্যারের থেকে নির্দিষ্ট SMTP ঠিকানা সরান


0

আমি PowerShell ব্যবহার করে AD তে আমার কিছু ব্যবহারকারীর প্রক্সি অ্যাড্রেসগুলি কীভাবে সংশোধন করতে তা বুঝার চেষ্টা করছি। ব্যবহারকারীর প্রক্সি অ্যাড্রেসেস (যদি এটি বিদ্যমান থাকে) থেকে একটি নির্দিষ্ট ডোমেনের জন্য ব্যবহারকারীদের একটি নির্দিষ্ট সেটের জন্য অনুসন্ধানের জন্য AD-বিজোডটি ব্যবহার করুন এবং একটি নির্দিষ্ট ডোমেনের জন্য সমস্ত SMTP ঠিকানা সরান আমার মৌলিক লক্ষ্যটি হল।

$ADobjects = @(Get-ADObject -Filter 'objectClass -eq "User"' -Properties mailNickname, ProxyAddresses) | Where-Object {$_.ProxyAddresses -Match "@BADdomain.com"}

প্রক্সি অ্যাড্রেসেসগুলি এই রকম হতে পারে:

SMTP:john.doe@domainA.com, smtp:john.doe@BADdomain.com, smtp:john.doe@domainC.com, X500:/o=info/ou=test/cn=john.doe, x400:/o=info/ou=test/cn=john.doe, smtp:john.doe@domain.local

এতে কোনও নির্দিষ্ট অর্ডার নেই, X500 ঠিকানাগুলি প্রথম হতে পারে, শেষ হতে পারে, SMTP, X400, ইত্যাদি। উচ্চতর SMTP প্রাথমিক SMTP ঠিকানা নির্দেশ করে, ছোট হাতের অক্ষর সেকেন্ডারি ঠিকানা নির্দেশ করে। এটি সম্ভব যে john.doe@BADdomain.com প্রাথমিক SMTP ঠিকানা হতে পারে (আমি এই বিভাজন করার সময় কেস উপেক্ষা করব - প্রয়োজন হলে প্রাথমিক প্রক্রিয়ার ক্ষেত্রে আমি প্রাথমিক SMTP পরিবর্তন করার ক্ষেত্রে পরীক্ষা করতে পারি)। এবং (আমি ভুল হতে পারে) কিন্তু মনে হচ্ছে প্রক্সি অ্যাড্রেসেসগুলি একটি সাধারণ অ্যারে নয় (সম্ভবত এটি একটি বহুমাত্রিক অ্যারে)? কিন্তু যখন আমি "," এ অ্যারে বিভক্ত করার চেষ্টা করি, আমি একটি ত্রুটি পেয়ে থাকি:

ForEach ($Object in $ADobjects)
{
$TempInfo = $Object.ProxyAddresses.Split(",")
write-host $TempInfo
}

ত্রুটি যে এটি উত্পন্ন হয়:

Method invocation failed because [Microsoft.ActiveDirectory.Management.ADPropertyValueCollection] doesn't contain a method named 'Split'.

আমি কি প্রক্সি অ্যাড্রেসেসগুলিকে একটি আলাদা অ্যারের মধ্যে "বিভক্ত" করতে পারি যাতে আমি প্রতিটির মাধ্যমে কাজ করতে পারি এবং ডোমেন নাম @ BADdomain.com হলে এটি সরাতে পারি? আমি তারপর অ্যারে থেকে এটি অপসারণ করতে পারে। অথবা এটি ব্যবহার করা সম্ভব। "প্রতিস্থাপন করুন" এবং SMTP দিয়ে শুরু হওয়া সবকিছুকে BADdomain.com থেকে প্রতিস্থাপন করুন (যদি BADdomain.com পরবর্তী SMTP এর আগে পাওয়া যায়)? আমি জানি না, আমি উপায় চেষ্টা করেছি কিন্তু ব্যর্থ হয়েছে।

অনেক ধন্যবাদ!!

উত্তর:


1

বিভক্ত স্ট্রিং জন্য বিভক্ত করা হয়; ব্যবহারকারীর বস্তুর ProxyAddresses সম্পত্তিটি একটি স্ট্রিং নয়, তাই এটি "বিভক্ত" সমর্থন করে না।

এই মত কিছু চেষ্টা করুন (সম্পূর্ণরূপে untested :)):

ForEach ($userObject in $ADobjects)
{
  ForEach ($proxyAddress in $userObject.ProxyAddresses)
  {
    write-host $proxyAddress
  }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.