উদাহরণ সহ PowerShell হ্যাশটেবল আলটিমেট গাইড
একটি পাওয়ারশেল হ্যাশটেবল হল একটি সংগ্রহের আইটেম এবং তাদের মান। আইটেমগুলিকে কী হিসাবে উল্লেখ করা হয়। তাছাড়া, হ্যাশটেবলের প্রতিটি কী-এর একটি সমতুল্য মান রয়েছে।
সারমর্মে, একটি পাওয়ারশেল হ্যাশটেবল হল একটি কী/মান স্টোর 'টেবিল'।
এই এস জোনে, পাওয়ারশেল হ্যাশটেবল সম্পর্কে আপনার যা জানা দরকার তা আমি আপনাকে শিখিয়ে দেব। প্রথম বিভাগটি একটি হ্যাশটেবল এবং একটি অ্যারের মধ্যে পার্থক্য অন্বেষণ করে।
তারপর, দ্বিতীয় বিভাগে, ব্যবহার করে গেট-মেম্বার Cmdlet, আমি আপনাকে হ্যাশটেবলের হুডের পিছনে নিয়ে যাব।
অবশেষে, আমি স্ক্রিপ্টিং এ হ্যাশটেবল ব্যবহার করার বিভিন্ন উপায় অন্বেষণ করব।
পোস্ট বিষয় ব্রাউজ করুন
- পাওয়ারশেল হ্যাশটেবল বনাম পাওয়ারশেল অ্যারে
- পাওয়ারশেল হ্যাশটেবল পদ্ধতি এবং বৈশিষ্ট্য
- কীভাবে একটি খালি পাওয়ারশেল হ্যাশটেবল তৈরি করবেন এবং কী যুক্ত করবেন
- একাধিক মান এবং একটি কী সহ কিভাবে PowerShell হ্যাশটেবল তৈরি করবেন
- ForEach লুপের সাহায্যে PowerShell হ্যাশটেবল কিভাবে পুনরাবৃত্তি করবেন
- পাওয়ারশেল হ্যাশটেবল এবং সিলেক্ট-অবজেক্ট দিয়ে কীভাবে একটি প্রতিবেদন কাস্টমাইজ করবেন
- কিভাবে PowerShell হ্যাশটেবল CSV তে রপ্তানি করবেন
- তথ্যসূত্র এবং আরও পড়া
পাওয়ারশেল হ্যাশটেবল বনাম পাওয়ারশেল অ্যারে
আমি হ্যাশটেবলে ডুব দেওয়ার আগে, আমি হ্যাশটেবল এবং অ্যারেগুলির মধ্যে পার্থক্য ব্যাখ্যা করতে চাই। এই পার্থক্যটি গুরুত্বপূর্ণ কারণ দুটি ধারণা সহজেই বিভ্রান্ত হতে পারে।
এই গাইডের ভূমিকায়, আমি ব্যাখ্যা করেছি যে একটি হ্যাশটেবল একটি কী/মূল্যের দোকান। উপরন্তু, একটি হ্যাশটেবল কী এবং মান সহ একটি টেবিলের মতো।
বিপরীতে, একটি পাওয়ারশেল অ্যারে হল মান বা বস্তুর সংগ্রহ।
আইপ্যাডে কীভাবে এমকেভি খেলবেন
একটি PowerShell হ্যাশটেবল এবং একটি পাওয়ারশেল অ্যারের মধ্যে প্রাথমিক পার্থক্য হল যে একটি হ্যাশটেবল হল আইটেম (কী) এবং তাদের মানগুলির একটি সংগ্রহ - যখন একটি অ্যারে আইটেমগুলির একটি তালিকা।
একটি দ্রুত উদাহরণের জন্য, নীচের কোডগুলি একটি হ্যাশটেবল এবং একটি অ্যারের উদাহরণ - প্রথম কোডটি একটি হ্যাশটেবল তৈরি করে যখন দ্বিতীয় কোডটি একটি অ্যারে তৈরি করে:
|_+_| |_+_| কোডের উদাহরণ থেকে, আপনি দেখতে পাচ্ছেন যে যখন একটি হ্যাশটেবল {}-এ আবদ্ধ থাকে, তখন একটি অ্যারে () তে আবদ্ধ থাকে।নীচের স্ক্রিনশট দুটি কোডের ফলাফল প্রদর্শন করে।
(1) লেবেলযুক্ত স্ক্রিনশটের অংশটি হ্যাশটেবলের ফলাফল। আপনি কী/মান জোড়া দেখেছেন?
উপরের উদাহরণে, কী, রুটের একটি মান রয়েছে C:UsersvictoDocuments। এছাড়াও, PSProvider কীটির ফাইলসিস্টেম নামে একটি মান রয়েছে।
অবশেষে, নামের ডকুমেন্টের একটি মান আছে।
অধিকন্তু, (2) লেবেলযুক্ত স্ক্রিনশটের অংশটিতে অ্যারে কোডের ফলাফল রয়েছে। পূর্বে ব্যাখ্যা করা হয়েছে, এটি শুধুমাত্র একটি তালিকা।
পাওয়ারশেল হ্যাশটেবল পদ্ধতি এবং বৈশিষ্ট্য
ভূমিকায় আমি আপনাকে পাওয়ারশেল হ্যাশটেবলের হুডের পিছনে নিয়ে যাওয়ার প্রতিশ্রুতি দিয়েছিলাম। এই হল!
এই বিভাগে, আমি আপনাকে শেখাব কিভাবে হ্যাশটেবলের পিছনে দেখতে Get-Member Cmdlet ব্যবহার করতে হয়।
আপনি যখন পাওয়ারশেল হ্যাশটেবলের ফলাফল পাইপ করবেন গেট-মেম্বার , আপনি উপলব্ধ পর্যালোচনা করতে সক্ষম হবে পদ্ধতি এবং বৈশিষ্ট্য হ্যাশটেবলের।
আসুন উপরের আমাদের প্রথম তাড়াহুড়ো উদাহরণে ফিরে যাই:
|_+_|একটি নতুন PowerShell ISE নথিতে কোডটি অনুলিপি করুন। তারপর, কোড চালান।
তারপর, উপলব্ধ দেখতে পদ্ধতি এবং বৈশিষ্ট্য এই হ্যাশটেবলে, একই PowerShell ISE-তে এই কমান্ডটি চালান।
|_+_|উপরের কমান্ডটি চালানোর জন্য, শেষ কোডের নীচে পেস্ট করুন। তারপর, এটি হাইলাইট করুন এবং হয় F8 টিপুন বা হাইলাইট করা আইকনে ক্লিক করুন।
কমান্ডটি পাওয়ারশেল কনসোল প্যানে ফলাফল প্রদর্শন করবে।
আপাতত, ফলাফলের উপরে তাকান। এটির TypeName: System.Collections.Hashtable আছে।
এটি নিশ্চিত করে যে গেট-মেম্বার সিএমডিলেটে পাইপ করা বস্তুগুলি একটি হ্যাশটেবল!
এই বিভাগের নিম্নলিখিত উপ-বিভাগে, আমি আপনাকে দেখাব কিভাবে একটি PowerShell হ্যাশটেবলের সাধারণ পদ্ধতি এবং বৈশিষ্ট্যগুলি ব্যবহার করতে হয়।
বিদ্যমান হ্যাশটেবলে আইটেমগুলি কীভাবে যুক্ত বা সরানো যায়
এই বিভাগে, আপনি একটি বিদ্যমান PowerShell হ্যাশটেবলে নতুন আইটেম যোগ করতে শিখবেন। তাছাড়া, আপনি একটি বিদ্যমান PowerShell হ্যাশটেবল থেকে একটি আইটেম সরাতে শিখবেন।
আমি এটিতে ডুব দেওয়ার আগে, আমি উল্লেখ করতে চাই যে আপনি একটি খালি হ্যাশটেবলও তৈরি করতে পারেন। তারপর, হ্যাশটেবলে কী/মান যোগ করুন - পরবর্তীতে এই বিষয়ে আরও।
বিদ্যমান পাওয়ারশেল হ্যাস্টেবলগুলিতে আইটেমগুলি যোগ বা অপসারণে ফিরে যান - যখন আমরা চালাই $হ্যাশটেবল | গেট-মেম্বার কমান্ড, ফলাফলে প্রদর্শিত পদ্ধতিগুলির মধ্যে একটি যোগ করুন . একটা পদ্ধতিও আছে, অপসারণ .
নীচের স্ক্রিনশটের হাইলাইট করা অংশগুলি দেখুন:
এই দুটি পদ্ধতি কীভাবে ব্যবহার করবেন তা দেখানোর আগে, আসল পাওয়ারশেল হ্যাশটেবল কোডটি দেখুন:
|_+_|হ্যাশটেবলটিতে 3টি এন্ট্রি রয়েছে। এই উদাহরণে, আমি আমার 'মাই ডকুমেন্টস' ফোল্ডারে মানচিত্র মান সহ বিবরণ নামক আরেকটি কী যোগ করব।
এই কাজটি সম্পূর্ণ করার জন্য, আমি নীচের কমান্ডটি চালাব (একই PowerShell ISE কনসোলে যা আমি পূর্ববর্তী কমান্ডগুলি চালিয়েছিলাম)
|_+_| আমি অ্যাড ব্যবহার কিভাবে নোট পদ্ধতি . আমি হ্যাশটেবল ধারণকারী ভেরিয়েবলের পাশে একটি পিরিয়ড (.) যোগ করি। তারপর, আমি পদ্ধতিটি অন্তর্ভুক্ত করেছি, যোগ করুন , এর পরে ()। অবশেষে, আমি হ্যাশটেবলে যোগ করতে চাই এমন নতুন কী/মান জোড়া অন্তর্ভুক্ত করেছি।আপনি কমান্ড চালানোর পরে, অতিরিক্ত কী যোগ করা হয়েছে তা নিশ্চিত করতে, হাইলাইট করুন $হ্যাশটেবল এবং F8 চাপুন।
অ্যান্ড্রয়েডের জন্য যোগাযোগ পরিচালক|_+_|
এখানে ফলাফলের একটি স্ক্রিনশট রয়েছে - নিশ্চিত করে যে নতুন কী/মান যোগ করা হয়েছে।
চলমান, আপনি PowerShell হ্যাশটেবল থেকে একটি মান সরাতে একই পদ্ধতি ব্যবহার করতে পারেন।
হ্যাশটেবলে যুক্ত করা শেষ কীটি সরাতে, শেষ কমান্ডের অনুরূপ একটি কমান্ড চালান। এই সময় যদিও প্রতিস্থাপন যোগ করুন সঙ্গে পদ্ধতি অপসারণ পদ্ধতি।
এখানে কমান্ড আছে:
|_+_| দ্য অপসারণ পদ্ধতি শুধুমাত্র অন্তর্ভুক্ত চাবি . আপনার কী অন্তর্ভুক্ত করার দরকার নেই মান আদেশেপ্রথমে উপরের কমান্ডটি চালান। তারপর, নিশ্চিত করতে যে কীটি সরানো হয়েছে, হাইলাইট করুন $হ্যাশটেবল এবং F8 চাপুন।
|_+_|কমান্ডের ফলাফল নিশ্চিত করে যে কীটি সরানো হয়েছে!
পাওয়ারশেল হ্যাশটেবলে একটি কী রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন
যখন আমরা নীচের তাড়াহুড়ো পাইপ গেট-মেম্বার Cmdlet, প্রদর্শিত পদ্ধতিগুলির মধ্যে একটি হল ContainsKey পদ্ধতি - নীচের স্ক্রিনশট দেখুন।
|_+_|
দ্য ContainsKey পদ্ধতি অনেক উপায়ে ব্যবহার করা যেতে পারে. যাইহোক, এই পদ্ধতির একটি সাধারণ অ্যাপ্লিকেশন হল হ্যাশটেবলে একটি কী বিদ্যমান কিনা তা পরীক্ষা করার জন্য এটি ব্যবহার করা এবং যদি তা না থাকে তবে কী যুক্ত করুন।
এর আরেকটি আবেদন ContainsKey একটি PowerShell হ্যাশটেবলের পদ্ধতি হ'ল হ্যাশটেবলে একটি কী নাম বিদ্যমান কিনা তা পরীক্ষা করার জন্য এটি ব্যবহার করা।
একটি PowerShell হ্যাশটেবল ব্যবহার করে একটি কী বিদ্যমান কিনা তা পরীক্ষা করতে ContainsKey পদ্ধতি, নীচের কমান্ড চালান:
|_+_|এই কমান্ড চেক করে যে $hashtable ভেরিয়েবলে সংরক্ষিত হ্যাশটেবলে বর্ণনা নামের একটি কী আছে কিনা। কমান্ডের ফলাফল False প্রদর্শন করে।
পাওয়ারশেল হ্যাশটেবলে যোগ করার আগে বিবরণ কী বিদ্যমান কিনা তা পরীক্ষা করতে, আমাদের পূর্ববর্তী কমান্ডে কোডের একটি অতিরিক্ত লাইনের প্রয়োজন হবে।
এখানে উন্নত কোড আছে।
|_+_|কোডটি IF শর্তসাপেক্ষ বিবৃতি ব্যবহার করে হ্যাশটেবলে বর্ণনা নামের একটি কী আছে কিনা তা পরীক্ষা করে।
তারপর, ফলাফলটি False হলে, IF স্টেটমেন্টের কমান্ড এক্সিকিউশন অংশে, আমরা ব্যবহার করি যোগ করুন হ্যাশটেবলে কী যুক্ত করার জন্য PowerShell হ্যাশটেবলের পদ্ধতি।
যাইহোক, হ্যাশটেবলে কীটি বিদ্যমান থাকলে, IF স্টেটমেন্টের অন্য অংশে, আমরা একটি বার্তা প্রদর্শন করি যে ব্যক্তি কমান্ডটি চালায় যে কীটি ইতিমধ্যেই বিদ্যমান।
শেষ কমান্ড চালানোর পরে, হাইলাইট করুন $হ্যাশটেবল পরিবর্তনশীল এবং এটি একা চালান। ফলাফল নিশ্চিত করে যে কী, বিবরণ ভেরিয়েবলে যোগ করা হয়েছিল কারণ এটি বিদ্যমান ছিল না।
এই স্ক্রিপ্টটি কাজ করে কিনা তা পরীক্ষা করতে - এটি আবার চালান...
|_+_|এই সময়, স্ক্রিপ্ট কী যোগ করেনি। বরং, এটি IF স্টেটমেন্টের অন্য অংশে তথ্য ফিরিয়ে দিয়েছে - কীটি ইতিমধ্যেই হ্যাশটেবলে বিদ্যমান .
কিভাবে একটি PowerShell হ্যাশটেবলকে স্ট্রিং-এ রূপান্তর করা যায়
একটি PowerShell হ্যাশটেবলকে একটি স্ট্রিংয়ে রূপান্তর করার প্রথম ধাপ হল হ্যাশটেবলের কীগুলির মানগুলি ফেরত দেওয়া। অন্য কথায়, আপনি PowerShell হ্যাশটেবলটিকে একটি PowerShell অ্যারেতে রূপান্তর করুন।
একটি হ্যাশটেবলে মান ফেরত দিতে, কল করুন মূল্যবোধ হ্যাশটেবলের সম্পত্তি।
এখানে একটি কমান্ড যা একটি হ্যাশটেবলে মান প্রদান করে:
|_+_|একবার আপনি পাওয়ারশেল হ্যাশটেবলে মানগুলি ফেরত দিলে, পরবর্তী ধাপ হল $hashtable. মানগুলিকে পাইপ করা। আউট-স্ট্রিং আদেশ…
|_+_| পরে এই নির্দেশিকাটিতে, আপনি একটি পাওয়ারশেল হ্যাশটেবলকে একটি স্ট্রিংয়ে রূপান্তর করার গুরুত্ব উপলব্ধি করবেন। বাস্তব-বিশ্বের SysAdmin স্ক্রিপ্টিং-এ এর ব্যবহারিক প্রয়োগ দেখতে, পড়ুন।পাওয়ারশেল হ্যাশটেবল কীভাবে ব্যবহার করবেন GetEnumerator পদ্ধতি
পাওয়ারশেল হ্যাশটেবলের আরেকটি গুরুত্বপূর্ণ পদ্ধতি হল GetEnumerator পদ্ধতি।
আপনি একটি হ্যাশটেবলের কীগুলিকে পৃথক স্ট্রিংগুলিতে আলাদা করতে এই পদ্ধতিটি ব্যবহার করতে পারেন। এখানে একটি নমুনা কমান্ড আছে GetEnumerator একটি হ্যাশটেবল পদ্ধতি:
|_+_|আপনি উপরের কমান্ডের ফলাফল থেকে দেখতে পাচ্ছেন, কী এবং মান পৃথক শিরোনামে ফেরত দেওয়া হয়েছে। আমি এখন একটি অ্যাপ্লিকেশনের কথা ভাবতে পারি না, তবে, যদি আপনাকে কখনও PowerShell হ্যাশটেবলে কীগুলি ভাঙতে হয়, আপনি জানেন কিভাবে এটি করতে হয়!
পাওয়ারশেল হ্যাশটেবল আইটেমগুলি কীভাবে গণনা করবেন
আরেকটি দরকারী হ্যাশটেবল সম্পত্তি আছে, গণনা . নাম থেকে বোঝা যায়, এই প্রপার্টি একটি হ্যাশটেবলের কী সংখ্যা ফেরত দেয়।
মত মূল্যবোধ প্রপার্টি, কাউন্ট প্রপার্টি কল করতে, নিচের মত একটি কমান্ড ব্যবহার করুন:
|_+_|কমান্ড নিশ্চিত করে যে হ্যাশটেবল, $hashtable-এ 4টি কী রয়েছে।
কীভাবে একটি খালি পাওয়ারশেল হ্যাশটেবল তৈরি করবেন এবং কী যুক্ত করবেন
এখন পর্যন্ত, এই এস জোনের সমস্ত উদাহরণ বিদ্যমান কীগুলির সাথে PowerShell হ্যাশটেবলকে ম্যানিপুলেট করার উপর দৃষ্টি নিবদ্ধ করেছে। এই বিভাগে, আপনি কীভাবে একটি খালি হ্যাশটেবল তৈরি করবেন তা শিখবেন।
তারপর, হ্যাশটেবলে কী যোগ করুন।
একটি খালি পাওয়ারশেল হ্যাশটেবল তৈরি করতে, কেবল লিখুন @ চিহ্ন, অনুসরণ করে {} বন্ধনী. এখানে একটি ভেরিয়েবলে সংরক্ষিত একটি খালি হ্যাশটেবলের একটি উদাহরণ রয়েছে, খালি হ্যাশটেবল :
|_+_|হ্যাশটেবলটি কোন মান ছাড়াই তৈরি হয়েছে তা নিশ্চিত করতে, পূর্ববর্তী কমান্ডটি চালান। তারপর, ভেরিয়েবলটি নিজেই চালান।
|_+_|পরবর্তী ধাপ ব্যবহার করা হয় যোগ করুন হ্যাশটেবলে কী/মান যোগ করার জন্য এই গাইডে আগে কভার করা পদ্ধতি। এই উদাহরণে, আমি একটি কী যোগ করব, যাকে বলা হয় নাম , এর মান সহ দলিল .
এখানে এই কাজটি সম্পাদন করার নির্দেশ রয়েছে।
|_+_|অবশেষে, মানগুলি সফলভাবে যোগ করা হয়েছে তা নিশ্চিত করতে, ভেরিয়েবলটি চালান, $Emptyhashtable:
|_+_|শেষ কমান্ড নিশ্চিত করে যে মানগুলি সফলভাবে যোগ করা হয়েছে:
একাধিক মান এবং একটি কী সহ কিভাবে PowerShell হ্যাশটেবল তৈরি করবেন
আমরা এখন পর্যন্ত যে সমস্ত উদাহরণ কভার করেছি, PowerShell হ্যাশটেবলের একটি কী/মান জোড়া রয়েছে। যাইহোক, এমন কিছু পরিস্থিতিতে আছে যখন আপনার একাধিক মান সহ হ্যাশটেবলে একটি একক কী থাকতে পারে।
এই উদাহরণে, আপনি কার্যকরভাবে মান হিসাবে অ্যারে সহ একটি হ্যাশটেবল তৈরি করতে চান।
শুরু করার জন্য, আমি মনে করি যে কোডগুলি আমি একটি অ্যারে থেকে হ্যাশটেবলকে আলাদা করার জন্য ব্যবহার করেছি তা আপনাকে দেখানো ভাল।
|_+_| |_+_|সুতরাং, একক কী এবং একাধিক মান সহ একটি পাওয়ারশেল হ্যাশটেবল তৈরি করতে, এর মতো একটি স্ক্রিপ্ট চালান:
|_+_|উপরের স্ক্রিপ্টে, লগনেম হ্যাশটেবল কী যখন সিস্টেম, অ্যাপ্লিকেশন, এবং সিকিউরিটি মানগুলি কীটিতে বরাদ্দ করা হয়। কার্যকরভাবে, আমরা একাধিক মান সহ একটি একক দ্রুতযোগ্য কী তৈরি করেছি।
স্বতন্ত্র মান তালিকাভুক্ত করতে লগনেম কী, নীচের কমান্ডটি চালান:
|_+_|(1) লেবেলযুক্ত নীচের স্ক্রিনশটের অংশটি হ্যাশটেবলের ফলাফল, $hashtableWithArrays . অধিকন্তু, লেবেলযুক্ত অংশটি (2) এর ফলাফল দেখায় $hashtableWithArrays.Values আদেশ
আপনি যদি উইন্ডোজ ইভেন্ট লগ - সিস্টেম, অ্যাপ্লিকেশন এবং সিকিউরিটি - উইন্ডোজ ইভেন্ট লগগুলির নামগুলির সাথে পরিচিত হন।
পরবর্তী বিভাগে, আমি আপনাকে দেখাব কিভাবে PowerShell ForEach লুপ ব্যবহার করতে হয় উপরের হ্যাশটেবলের মাধ্যমে পুনরাবৃত্তি করতে - এবং চালান ইভেন্টলগ পান এই 3টি ইভেন্ট লগে কমান্ড - একটি একক PowerShell স্ক্রিপ্ট ব্যবহার করে।
ForEach লুপের সাহায্যে PowerShell হ্যাশটেবল কিভাবে পুনরাবৃত্তি করবেন
শেষ বিভাগে, আমি একাধিক মান সহ একটি একক-কী পাওয়ারশেল হ্যাশটেবল তৈরি করেছি।
এই বিভাগে উদাহরণের জন্য, আমি হ্যাশটেবল সংরক্ষণ করা পরিবর্তনশীল পরিবর্তন করেছি LogNameKeys . এখানে আপডেট করা স্ক্রিপ্ট।
|_+_|এই বিভাগে, আমি আপনাকে কীভাবে ব্যবহার করতে হয় তা শিখিয়ে দেব প্রতিটির জন্য তে সংরক্ষিত মানগুলি লুপ করতে লগনেম কী এবং চালান ইভেন্টলগ পান আদেশ
PowerShell ForEach-এ একটি দ্রুত রিফ্রেশার কোর্সের জন্য, নীচে একটি PowerShell ForEach কমান্ডের সাধারণ সিনট্যাক্স রয়েছে:
|_+_|আপনি যদি আমাদের উপরোক্ত সিনট্যাক্স প্রয়োগ করেন লগনেম হ্যাশটেবল, আপডেট করা কমান্ডটি দেখতে এইরকম হবে:
যে লাইনগুলো # দিয়ে শুরু হয় সেগুলো হল PowerShell মন্তব্য। |_+_|স্ক্রিপ্টের প্রথম অংশটি একই স্ক্রিপ্ট যা একাধিক মান সহ একক-কী PowerShell হ্যাশটেবল তৈরি করে। এখানে স্ক্রিপ্ট আছে:
নেটফ্লিক্স অ্যাভাস্ট দ্বারা অবরুদ্ধ|_+_|
স্ক্রিপ্টের দ্বিতীয় অংশে, আমি ($LogNameKeys.Values) তে সংরক্ষিত মানগুলিকে স্ট্রিং-এ রূপান্তর করেছি এবং ফলাফলটিকে অন্য পরিবর্তনশীলে সংরক্ষণ করেছি, LogNameKeysAsStrings .
|_+_|অবশেষে, স্ক্রিপ্টের তৃতীয় অংশে - ForEach লুপটি চালু করা হয়েছে:
|_+_|স্ক্রিপ্টের এই অংশে, আমরা PowerShell-কে বলি তে সংরক্ষিত প্রতিটি মান নিতে লগনেম চাবি ( $LogNameKeysAsStrings ) - অস্থায়ীভাবে ভেরিয়েবলে সেই স্বতন্ত্র মানটি সংরক্ষণ করুন LogNameKey - তারপর, চালাতে টেম্পোরাল ভেরিয়েবল ব্যবহার করুন ইভেন্টলগ পান আদেশ
আমি অন্তর্ভুক্ত নতুনতম এর পরামিতি ইভেন্টলগ পান 5 এর মান সহ কমান্ড যাতে প্রতিটি ইভেন্ট লগের শেষ 5টি এন্ট্রি প্রদান করে। আপনি যখন একটি PowerShell স্ক্রিপ্ট দেখেন তখন এটি জটিল মনে হতে পারে। যাইহোক, যদি আপনি ঘনিষ্ঠভাবে তাকান, এটি সাধারণত খুব সহজ।এখন, একটি নতুন PowerShell ISE নথিতে নীচের স্ক্রিপ্টটি অনুলিপি করুন এবং এটি চালান।
প্রশাসক হিসাবে PowerShell ISE খুলুন। আপনি প্রশাসক হিসাবে PowerShell ISE না খুললে, আপনি অ্যাক্সেস ত্রুটি বার্তা পাবেন। |_+_|নীচের স্ক্রিনশটটি স্ক্রিপ্টের ফলাফল প্রদর্শন করেছে। ফলাফল ফলকে 15টি সারি রয়েছে - সিস্টেম, অ্যাপ্লিকেশন, নিরাপত্তা ইভেন্ট লগের 5টি প্রতিনিধিত্ব করে।
পাওয়ারশেল হ্যাশটেবল এবং সিলেক্ট-অবজেক্ট দিয়ে কীভাবে একটি প্রতিবেদন কাস্টমাইজ করবেন
শেষ বিভাগে, আমরা একটি পাওয়ারশেল স্ক্রিপ্ট তৈরি করেছি যা উইন্ডোজ ইভেন্ট লগ রিপোর্ট টানে। এখানে প্রতিবেদনটির একটি স্ক্রিনশট রয়েছে
স্ক্রিপ্টের ডিফল্ট আউটপুটে 5টি কলাম রয়েছে - সূচক , সময় , এন্ট্রি টাইপ , উৎস , ইনস্ট্যান্সআইডি , এবং বার্তা . আপনি যদি এটি একটি প্রতিবেদন হিসাবে পাঠান, তাহলে আপনি এই কলামের নামগুলি এমন নামগুলিতে পরিবর্তন করতে চাইতে পারেন যা সহজেই বোধগম্য হবে৷
অ্যান্ড্রয়েডের জন্য রুম গেমগুলি এড়িয়ে চলুন
এখানে শেষ বিভাগ থেকে স্ক্রিপ্ট.
স্ক্রিপ্ট সামান্য পরিবর্তন করা হয়েছে. আমার এখন একটি পরিবর্তনশীল আছে, ইভেন্টলগ রিপোর্ট যা ForEach লুপের আউটপুট সংরক্ষণ করে। কেন এটি প্রয়োজনীয় তা আমি পরে ব্যাখ্যা করব। |_+_|এই স্ক্রিপ্ট থেকে কলাম হেডারের নাম পরিবর্তন করতে, আমরা পাইপ করব ইভেন্টলগ পান আদেশ a সিলেক্ট-অবজেক্ট আদেশ
তারপর, এর মধ্যে একটি পাওয়ারশেল হ্যাশটেবল তৈরি করুন সিলেক্ট-অবজেক্ট কমান্ড যা কলামের নাম পরিবর্তন করে। এখানে পরিবর্তিত স্ক্রিপ্ট যা যাদু সঞ্চালিত হয়.
|_+_|স্ক্রিপ্টটি আসলে তার চেয়ে অনেক বেশি জটিল বলে মনে হচ্ছে। যাইহোক, আপনি যদি সিলেক্ট-অবজেক্টের পরে স্ক্রিপ্টের অংশে ফোকাস করেন, তাহলে এই স্ক্রিপ্ট এবং আগের কপির মধ্যে পার্থক্য চিহ্নিত করা সহজ হবে।
বিশেষ করে, আমি এর মধ্যে হ্যাশটেবল অন্তর্ভুক্ত করেছি সিলেক্ট-অবজেক্ট কোড ব্লক। প্রতিটি হ্যাশটেবল এর আউটপুট কাস্টমাইজ করে ইভেন্টলগ পান আদেশ
এখানে থেকে একটি নমুনা হ্যাশটেবল আছে সিলেক্ট-অবজেক্ট ব্লক:
|_+_|যথারীতি, পাওয়ারশেল হ্যাশটেবলের দুটি উপাদান রয়েছে। মূল হল নাম , মান হল অভিব্যক্তি .
আরেকটি গুরুত্বপূর্ণ বিষয় লক্ষ্য করা যায় যে প্রতিটি হ্যাশটেবলের শেষে সিলেক্ট-অবজেক্ট ব্লক, একটি কমা আছে (,)।
অবশেষে, পাওয়ারশেলের চূড়ান্ত স্ক্রিপ্টের ফলাফল এখানে:
এর আগে আমি কেন পরিচয় করিয়ে দিয়েছিলাম তা ব্যাখ্যা করার প্রতিশ্রুতি দিয়েছিলাম $EventLogReport ForEach লুপের আউটপুট সংরক্ষণ করতে ভেরিয়েবল। এই পরিবর্তনশীল ছাড়া, চূড়ান্ত ফলাফল 3টি ইভেন্ট লগের প্রতিটির জন্য 3টি পৃথক ফলাফল প্রদর্শন করবে। যাইহোক, একটি ভেরিয়েবলে পুরো ফলাফল সংরক্ষণ করে, আমি এই ভেরিয়েবলটিকে ফরম্যাট-টেবিলে পাইপ করতে সক্ষম হয়েছি - এটি একটি একক টেবিল হিসাবে পুরো ফলাফল প্রদর্শন করে। এই যে জাদু সঞ্চালিত আদেশ. |_+_|কিভাবে PowerShell হ্যাশটেবল CSV তে রপ্তানি করবেন
এই চূড়ান্ত বিভাগে, আপনি শিখবেন কিভাবে একটি PowerShell হ্যাশটেবল CSV এ রপ্তানি করতে হয়।
এই বিভাগের জন্য আমার প্রথম উদাহরণে, আমি আপনাকে দেখাব কিভাবে এই হ্যাশটেবটি CSV তে রপ্তানি করতে হয়।
|_+_|একটি CSV ফাইলে এই PowerShell হ্যাশটেবলটি সফলভাবে রপ্তানি করতে, আপনাকে ব্যবহার করতে হবে GetEnumerator মান তালিকা করার পদ্ধতি (আগে আলোচনা করা হয়েছে)। অন্যথায়, প্রকৃত কী/মান জোড়া রপ্তানি করা হবে না।
এখানে সংরক্ষিত হ্যাশটেবল রপ্তানি করে পরিবর্তিত স্ক্রিপ্ট হ্যাশ টেবিল একটি CSV ফাইলের পরিবর্তনশীল।
|_+_|নীচের স্ক্রিপ্ট চালু করা হয়েছে:
|_+_|স্ক্রিপ্ট অন্তর্ভুক্ত GetEnumerator পদ্ধতি হ্যাশটেবলে তারপরে আউটপুট পাইপ করুন সিলেক্ট-অবজেক্ট আদেশ
অবশেষে, আমি আউটপুট পাইপ সিলেক্ট-অবজেক্ট আদেশ রপ্তানি-Csv আদেশ কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও পড়তে রপ্তানি-Csv Cmdlet, আমাদের গাইড পড়ুন – Powershell NoTypeInformation: অ্যাপ্লিকেশন এবং উদাহরণ।
আপনি যখন এই স্ক্রিপ্টটি চালান, তখন এটি একটি CSV ফাইল তৈরি করে যাকে বলা হয় hashtable.csv , আপনার নির্দিষ্ট করা পথে। CSV ফাইলের আউটপুটের জন্য নিচের স্ক্রিনশটটি দেখুন।
|_+_|
আমার দ্বিতীয় উদাহরণে, আমি শেষ বিভাগে তৈরি করা স্ক্রিপ্টের আউটপুট - ইভেন্ট লগ স্ক্রিপ্ট - একটি CSV ফাইলে রপ্তানি করব।
এখানে স্ক্রিপ্ট আছে. রিপোর্টটি CSV-এ রপ্তানি করতে, আমি এই স্ক্রিপ্টের শেষে এটির নিচে কোডটি যোগ করেছি।
|_+_| |_+_|কোড এর আউটপুট পাইপ প্রতিটির জন্য লুপ - এ সংরক্ষিত ইভেন্টলগ রিপোর্ট পরিবর্তনশীল - থেকে এক্সপোর্ট-সিএসভি কমান্ড . তৈরি করা CSV ফাইলটি নিচের স্ক্রিনশটে দেখানো হয়েছে।
এটাই হল – পাওয়ারশেল হ্যাশটেবল সম্পর্কে একটি ব্যাপক নির্দেশিকা! আমি আশা করি আপনি এটি সহায়ক খুঁজে পেয়েছেন?
আপনি যদি এটি সহায়ক বলে মনে করেন, দয়া করে ভোট দিন হ্যাঁ নীচের এই পোস্ট সহায়ক প্রশ্ন ছিল.
বিকল্পভাবে, আপনি একটি প্রশ্ন জিজ্ঞাসা করতে পারেন, একটি মন্তব্য করতে পারেন বা এই পৃষ্ঠার শেষে পাওয়া একটি উত্তর ছেড়ে দিন ফর্মের সাথে আরও প্রতিক্রিয়া প্রদান করতে পারেন৷
অবশেষে, আরও PowerShell টেক এস জোনের জন্য, আমাদের Windows PowerShell হাউ-টু গাইড পৃষ্ঠা দেখুন। এছাড়াও আপনি আমাদের হোম পৃষ্ঠা থেকে কাজ খুব সহায়ক খুঁজে পেতে পারেন.


