উভয়ের মধ্যে মূল পার্থক্যটি হ'ল প্রথম আদেশটি সমস্ত ফলাফল পেতে মানের সাথে সরাসরি তুলনা জড়িত না এবং দ্বিতীয় কমান্ডটি করে। প্রথম কমান্ডে ন্যূনএলএল ফলাফল অন্তর্ভুক্ত রয়েছে এবং দ্বিতীয়টি নয় (এমডিমারা ইতিমধ্যে আবিষ্কার করেছেন)। উভয় কমান্ড এই সেন্টিমলেট দিয়ে শুরু:
get-aduser
নীচের দিক দিয়ে যাওয়ার সময়, মনে রাখবেন যে এই সেমিডলেটের ফলাফলগুলিতে -filter
প্যারামিটারের পরে অন্য কোনও কিছু নির্বিশেষে সমস্ত এডি ব্যবহারকারীদের অন্তর্ভুক্ত করা হবে।
এখন আসুন দুটি পৃথক পৃথক অংশ ভাঙ্গা যাক। প্রথমটি:
{-not (description -eq "auto")}
... মানে
- "চিহ্নিত করুন যেখানে বর্ণনা বৈশিষ্ট্যটি পাঠ্য স্ট্রিং" অটো "এর সমান হয় work কাজের তুলনা করার জন্য
-eq
অপারেটরটিকে এটি" স্বয়ং "এর সাথে তুলনা করতে সক্ষম হওয়ার জন্য বর্ণনা ক্ষেত্রে একটি স্ট্রিং থাকা প্রয়োজন N নূন্য মানগুলি এ থেকে বাদ পড়েছে তুলনা যেহেতু এটি কোনও নুলকে একটি স্ট্রিংয়ের সাথে তুলনা করতে পারে না।
- স্বাধীনভাবে
-eq
ফিল্টার প্যারামিটার আমাকে এমন সমস্ত কিছু দেয় (description -eq "auto")
যা ফলাফল হয় না , যার মধ্যে NULL অন্তর্ভুক্ত থাকে, কারণ মূল সেমিডলেট, get-aduser
সমস্ত AD ব্যবহারকারীকে অন্তর্ভুক্ত করে। -not
অপারেটরের সাথে এটি অন্য কোনও কিছুর সাথে তুলনা করার দরকার নেই । এটি আপনাকে (description -eq "auto")
ফিল্টারটির ফলাফল কী ছিল তা সবেমাত্র আপনাকে সবকিছু দিয়েছে ।
আপনার উদাহরণ হিসাবে ধরা যাক আপনার 1 এডি ব্যবহারকারী রয়েছে যার বর্ণনা "অটো" এর সমান, "অটো" ব্যতীত অন্য কিছু সহ কয়েকশ এবং নুল বর্ণনার সাথে কয়েক শ ' কমান্ড যুক্তি দিয়ে পদক্ষেপটি এটি করবে:
- আমাকে সমস্ত এডি ব্যবহারকারী (গেট-অ্যাডুসার) দিন যেখানে বিবরণটি "অটো" এর সমান হয় - ফলাফল 1 জন ব্যবহারকারী
- সমস্ত এডি ব্যবহারকারীদের আমাকে দিন যা আপনি কেবল আমাকে দিয়েছেন - ফলাফলটি হ'ল কয়েকশত কিছু এবং কয়েকশত শূন্য রয়েছে UL
যেহেতু -not
অপারেটরটি ব্যবহার করে এটি অন্য কোনও কিছুর সাথে তুলনা করার দরকার নেই , get-aduser
ফলাফলটিতে মূল সিএমডিলেটে বন্দী নুল বর্ণনার ব্যবহারকারীদের অন্তর্ভুক্ত ছিল ।
দ্বিতীয় আদেশ:
{description -ne "auto"}
... মানে
- "চিহ্নিত করুন যেখানে বর্ণন বৈশিষ্ট্যটি সঠিক স্ট্রিং" অটো "এর সাথে সমান হয় না , আবার, কাজের তুলনা করার জন্য
-ne
অপারেটরটিকে এটি" স্বয়ং "এর সাথে তুলনা করতে সক্ষম হওয়ার জন্য বিবরণ ক্ষেত্রে একটি স্ট্রিং থাকা প্রয়োজন N নূন্য মানগুলি এই তুলনা থেকে বাদ দেওয়া হয়েছে কারণ এটি কোনও NUL কে স্ট্রিংয়ের সাথে তুলনা করতে পারে না।
আপনার উদাহরণে আবার ধরুন আপনার 1 এডি ব্যবহারকারী রয়েছে যার বর্ণনাকে "অটো" এর সমান, "অটো" ব্যতীত অন্য কিছু সহ কয়েক শত এবং নুআল বর্ণনার সাথে কয়েক শ 'কিছু রয়েছে। কমান্ড যুক্তি দিয়ে পদক্ষেপটি এটি করবে:
- আমাকে সমস্ত এডি ব্যবহারকারী দিন যেখানে বিবরণটি "অটো" এর সমান নয় - কয়েক শ'জন ব্যবহারকারী তাদের বিবরণে "অটো" ব্যতীত অন্য কিছু দিয়ে ফলাফল পান। এটি ব্যবহারকারীদের নুল বর্ণনার সাথে টানতে পারে না কারণ এটি কোনও পাঠ্য স্ট্রিংয়ের সাথে কোনও NULL তুলনা করতে পারে না।
দুটি কমান্ডের মধ্যে যে কোনওভাবেই পুরো পার্থক্যটি অবশ্যই স্বজ্ঞাত নয়।
এই কমান্ডটি ব্যবহার করে আপনি এখানে "- এবং" এর মতো NUL গুলি ধরতে সক্ষম হবেন:
{description -ne "auto" -and description -ne $NULL}
আমি সিনট্যাক্সে 100% নই যেহেতু আমি এখনই এটি পরীক্ষা করতে পারছি না, এবং এটির চেয়ে আরও ভাল উপায় সম্ভবত আছে। যখন এটি ভেঙে গেছে তখন এটি মোটামুটি বিরোধী জলবায়ু এবং ব্যাখ্যা করার জন্য প্রচুর টাইপিং নিয়েছিল, তবে আমি বিভিন্ন অপারেটর ব্যবহার করার আগে এই জাতীয় অদ্ভুত জিনিস এবং প্রচুর ট্রায়াল এবং ত্রুটি চালিয়েছি যেহেতু আমি কখনই সমস্ত সাবধানবাণী মনে করতে পারি না যে প্রতিটি ব্যবহার করে বরাবর যেতে।
তথ্যসূত্র: http://technet.microsoft.com/en-us/library/hh847732.aspx :
তুলনা অপারেটর
মান এবং পরীক্ষার অবস্থার তুলনা করতে তুলনামূলক অপারেটরগুলি (-eq, -ne, -gt, -lt, -le, -ge) ব্যবহার করুন। উদাহরণস্বরূপ, আপনি দুটি স্ট্রিং মানগুলি সমান কিনা তা নির্ধারণ করতে তুলনা করতে পারেন।
তুলনা অপারেটরগুলির মধ্যে ম্যাচ অপারেটরগুলি (-ম্যাচ,-ননমেচ) অন্তর্ভুক্ত থাকে, যা নিয়মিত প্রকাশের সাহায্যে নিদর্শনগুলি খুঁজে পায়; প্রতিস্থাপন অপারেটর (-প্লেস), যা ইনপুট মান পরিবর্তন করতে নিয়মিত এক্সপ্রেশন ব্যবহার করে; পছন্দসই অপারেটরগুলি (-Like, -notlike), যা ওয়াইল্ডকার্ড অক্ষর (*) ব্যবহার করে নিদর্শনগুলি খুঁজে পায়; এবং কন্টেন্ট অপারেটরগুলি (ইন, -নোটিন, -কন্টেন্টস, -নোটকন্টেনস) যা কোনও নির্ধারিত সেটে পরীক্ষার মান উপস্থিত হয় কিনা তা নির্ধারণ করে।
তারা মানগুলিতে বিট নিদর্শনগুলি পরিচালনা করতে বিটওয়াইস অপারেটরগুলি (-bAND, -bOR, -bXOR, -bNOT) অন্তর্ভুক্ত করে।
আরও তথ্যের জন্য, সম্পর্কে_পরিষ্কার_ অপারেটর দেখুন
লজিক্যাল অপারেটর
একক জটিল শর্তসাপেক্ষে শর্তাধীন বিবৃতি সংযোগ করতে লজিকাল অপারেটরগুলি (-আর, -অর, -অক্সর, -নট,!) ব্যবহার করুন । উদাহরণস্বরূপ, আপনি দুটি ভিন্ন শর্ত সহ একটি অবজেক্ট ফিল্টার তৈরি করতে লজিক্যাল-এবং অপারেটর ব্যবহার করতে পারেন।
আরও তথ্যের জন্য, প্রায়_ লজিক্যাল_ অপারেটর দেখুন।