- শক্তির উৎস এটি স্টার্টআপে এবং সেশনের সময় বেনামী টেলিমেট্রি পাঠায়, যা POWERSHELL_TELEMETRY_OPTOUT পরিবেশ ভেরিয়েবলের মাধ্যমে নিয়ন্ত্রণযোগ্য।
- পাওয়ারশেল-নির্দিষ্ট এবং সিস্টেম-নির্দিষ্ট পরিবেশ ভেরিয়েবল আপনাকে চাইল্ড প্রসেস দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত গোপনীয়তা, মডিউল পাথ, ক্যাশিং এবং এক্সিকিউশন নীতিগুলি সামঞ্জস্য করতে দেয়।
- Azure অ্যাপ্লিকেশন ইনসাইটসের কাস্টম টেলিমেট্রি পাওয়ারশেল বা কার্ল স্ক্রিপ্ট ব্যবহার করে পরীক্ষা এবং রোগ নির্ণয় করা যেতে পারে, নেটওয়ার্ক যাচাই করা যেতে পারে, TLS এবং Microsoft Entra ID দিয়ে প্রমাণীকরণ করা যেতে পারে।
- এই প্রক্রিয়াগুলি সঠিকভাবে ব্যবহার করলে পাওয়ারশেল স্ক্রিপ্টগুলিতে নির্ভরযোগ্য টেলিমেট্রি যুক্ত করা সহজ হয় এবং একই সাথে নিরাপত্তা এবং ভাগ করা ডেটার উপর নিয়ন্ত্রণ বজায় রাখা যায়।

যদি আপনি প্রতিদিন PowerShell এর সাথে কাজ করেন এবং শুনতে শুরু করেন যে স্ক্রিপ্ট এবং সেশনে টেলিমেট্রিকোন ডেটা পাঠানো হচ্ছে, কোথায় যাচ্ছে, কীভাবে এটি নিষ্ক্রিয় করবেন, এমনকি কীভাবে সেই টেলিমেট্রি ব্যবহার করে নিজের স্ক্রিপ্টগুলি ডিবাগ বা নিরীক্ষণ করবেন: প্রশ্ন থাকা স্বাভাবিক। কর্পোরেট পরিবেশ বা সংবেদনশীল তথ্য নিয়ে কাজ করার সময় এই সমস্ত কিছু আরও গুরুত্বপূর্ণ হয়ে ওঠে।
নিম্নলিখিত পংক্তিগুলিতে আপনি দেখতে পাবেন, যথেষ্ট বিস্তারিতভাবে এবং সম্ভব সহজতম ভাষায়, পাওয়ারশেলের সাথে সংযুক্ত টেলিমেট্রি কীভাবে কাজ করে?পরিবেশগত ভেরিয়েবলগুলি কী ভূমিকা পালন করে, আপনি কীভাবে অপ্ট আউট করতে পারেন, পাওয়ারশেল বা কার্ল ব্যবহার করে কীভাবে ম্যানুয়ালি টেলিমেট্রি (উদাহরণস্বরূপ অ্যাপ্লিকেশন ইনসাইটগুলিতে) পাঠাতে হয় এবং কোন সাধারণ নেটওয়ার্ক, TLS, বা প্রমাণীকরণের সমস্যাগুলি আপনার ড্যাশবোর্ড থেকে ডেটা অনুপস্থিত হতে পারে।
পাওয়ারশেল নেটিভভাবে কোন টেলিমেট্রি পাঠায়?
পাওয়ারশেল, তার আধুনিক সংস্করণগুলিতে, এর জন্য নিজস্ব প্রক্রিয়া অন্তর্ভুক্ত করে মাইক্রোসফটকে মৌলিক ব্যবহারের তথ্য পাঠান অ্যাপ্লিকেশন ইনসাইটসের মাধ্যমে। আমরা আপনার লেখা কোড সম্পর্কে কথা বলছি না, বরং বাইনারি কার্যকর হওয়ার সময় পাওয়ারশেল ইঞ্জিনের কথা বলছি। pwsh.
এই টেলিমেট্রি মাইক্রোসফটকে সাহায্য করে পাওয়ারশেল কীভাবে ব্যবহার করবেন তা আরও ভালোভাবে বুঝতে হবে (সংস্করণ, প্ল্যাটফর্ম, মডিউল, ইত্যাদি) এবং নতুন বৈশিষ্ট্য বা বাগ সংশোধনকে অগ্রাধিকার দিন। পাঠানোর আগে, তথ্য বেনামী করে এবং যোগ করে যাতে ব্যবহারকারী সরাসরি শনাক্ত না হয়।
দুটি গুরুত্বপূর্ণ মুহূর্ত রয়েছে যেখানে তথ্য সংগ্রহ করা হয়: অধিবেশনের শুরুতে y সম্পাদনের সময় পর্যায়ক্রমেআপনার পরিবেশ থেকে কী ভাগ করা হচ্ছে তার উপর সর্বাধিক নিয়ন্ত্রণ রাখতে চাইলে এই আচরণটি বোঝা গুরুত্বপূর্ণ।
তদুপরি, মোটরটি কেবল তখনই এই টেলিমেট্রি পাঠায় যখন আপনি চালান pwsh স্ট্যান্ডার্ড; যদি PowerShell হয় অন্য হোস্ট অ্যাপ্লিকেশনে ইঞ্জিন হিসেবে এমবেড করা হয়েছেসেই প্রাথমিক টেলিমেট্রি তৈরি হয় না।
pwsh শুরু করার সময় ডেটা পাঠানো হয়েছে
যখন একটি অধিবেশন শুরু হয় pwshইঞ্জিনটি পরিবেশগত তথ্যের একটি ছোট কিন্তু খুব নির্দিষ্ট সেট সংগ্রহ করে যা প্রতি বুটঅন্যান্য বিষয়ের মধ্যে, নিম্নলিখিতগুলি রেকর্ড করা হয়েছে: অপারেটিং সিস্টেম এবং ইনস্টলেশনের বিবরণ পাওয়ারশেল থেকে।
সেই প্রাথমিক পর্যায়ে তথ্য অন্তর্ভুক্ত থাকে যেমন অপারেটিং সিস্টেমের নির্মাতা, নাম এবং সংস্করণ প্ল্যাটফর্মের তথ্য, সেইসাথে আপনি বর্তমানে যে PowerShell ব্যবহার করছেন তার নির্দিষ্ট সংস্করণ, যা এটি কোন সিস্টেমে ব্যবহৃত হয় তা বুঝতে সাহায্য করে।
আরেকটি গুরুত্বপূর্ণ তথ্য যা পাঠানো হয় তা হল এর মান পরিবেশ সূচক POWERSHELL_DISTRIBUTION_CHANNELএটি সেই চ্যানেলটি নির্দেশ করে যার মাধ্যমে PowerShell ইনস্টল করা হয়েছিল (যেমন, অফিসিয়াল প্যাকেজ, সংগ্রহস্থল, ইত্যাদি)। এই মানটি ইনস্টলাররা সেট করে এবং ব্যবহারকারীদের মেট্রিক্স বিকৃত না করার জন্য এটি পরিবর্তন না করার পরামর্শ দেওয়া হচ্ছে।
এছাড়াও অন্তর্ভুক্ত রয়েছে অ্যাপ্লিকেশন ইনসাইটস SDK সংস্করণ PowerShell নিজেই ব্যবহার করে, IP ঠিকানার উপর ভিত্তি করে হোস্টের আনুমানিক ভৌগলিক এলাকা, প্যারামিটারগুলি পাস করা হয়েছে pwsh তাদের মূল্যবোধ ছাড়া (অর্থাৎ, প্যারামিটারের নাম কিন্তু বিষয়বস্তু নয়) এবং শুরুর সেশনের কার্যকর সম্পাদন নীতি।
অবশেষে, ইঞ্জিন দুটি বেনামী শনাক্তকারী তৈরি করে: একটি ব্যবহারকারী প্রতি র্যান্ডম GUID এবং অন্যান্য প্রতি সেশনের জন্য GUIDএগুলো সরাসরি ব্যক্তিগত তথ্য নয়, বরং প্রকৃত পরিচয় প্রকাশ না করেই গ্রুপ সেশন এবং আচরণের প্রযুক্তিগত শনাক্তকারী।
অধিবেশন চলাকালীন টেলিমেট্রি পাঠানো হয়েছে
একবার অধিবেশন শুরু হয়ে গেলে, পাওয়ারশেল পর্যায়ক্রমে বোঝার জন্য সমষ্টিগত ব্যবহারের তথ্য পাঠায় কোন বৈশিষ্ট্যগুলি ব্যবহার করা হয় এবং কীভাবেএটি ইন্টারেক্টিভ কনসোল এবং ইঞ্জিন চালিত অন্যান্য হোস্ট উভয়ের ক্ষেত্রেই প্রযোজ্য।
এই তথ্যগুলির মধ্যে রয়েছে, উদাহরণস্বরূপ, API কতবার কল করা হয়েছে PowerShell.Create(), আমদানি করা মাইক্রোসফট মডিউলের তালিকা, তাদের সংস্করণ সহ অথবা লেবেল বহনকারী মডিউলের সংখ্যা CrescendoBuiltযা নির্দিষ্ট কিছু সরঞ্জামের ব্যবহার শনাক্ত করতে সাহায্য করে।
নিম্নলিখিতগুলিও রিপোর্ট করা হয়েছে: পরীক্ষামূলক বৈশিষ্ট্যগুলির নাম চালু এবং বন্ধ করা হয়েছেউৎপাদনে সম্প্রদায়টি আসলে কোন পরীক্ষা-নিরীক্ষা করছে তা জানার জন্য এটি খুবই কার্যকর; উপরন্তু, পছন্দের মান পাঠানো হয়। $PSNativeCommandUseErrorActionPreference (সত্য, মিথ্যা বা সেট করা নেই) এবং খোলা দূরবর্তী সেশনের সংখ্যা।
আরেকটি আকর্ষণীয় অংশ হল ক্যাটালগ নিবন্ধিত সাবসিস্টেম. PowerShell স্বয়ংসম্পূর্ণ সাবসিস্টেমের জন্য ব্যবহৃত নামগুলি নির্দেশ করে (Completion) অথবা সাধারণ (general), কিন্তু যদি নামটি সেই তালিকায় না থাকে, তাহলে এটি পাঠানো হয় anonymous গোপনীয়তা রক্ষা করতে।
অবশেষে, কাউন্টারগুলি অন্তর্ভুক্ত করা হয়েছে দ্বারা তৈরি পরামর্শ CommandNotFound এবং ব্যবহারের পরিসংখ্যান PowerShellUnsafeAssemblyLoad (লোডিং সফলভাবে সম্পন্ন হয়েছে কিনা তা সহ), রোগ নির্ণয় এবং নিরাপত্তা উন্নত করার জন্য গুরুত্বপূর্ণ দিক।
নেটিভ পাওয়ারশেল টেলিমেট্রি কীভাবে নিষ্ক্রিয় করবেন
যদি আপনার প্রতিষ্ঠানের কঠোর গোপনীয়তা নীতি থাকে, তাহলে আপনি নির্দিষ্ট করে দিতে পারেন যে আপনি এই টেলিমেট্রিটি পাঠাতে চান না। PowerShell পরিবেশ পরিবর্তনশীলকে প্রকাশ করে এটি করে। POWERSHELL_TELEMETRY_OPTOUT, যা আপনাকে যেকোনো সেশন শুরু করার আগে সেট করতে হবে।
টেলিমেট্রি নিষ্ক্রিয় করার জন্য স্বীকৃত মান হতে পারে true, yes o 1এই ভেরিয়েন্টগুলির যেকোনো একটি ইঞ্জিনকে সেই প্রক্রিয়া থেকে অথবা পরিবেশের উত্তরাধিকারসূত্রে প্রাপ্ত চাইল্ড প্রক্রিয়া থেকে ব্যবহারের ডেটা মাইক্রোসফ্টে পাঠাতে নিষেধ করে।
এটা বোঝা গুরুত্বপূর্ণ যে এই কনফিগারেশনটি এর উপর ভিত্তি করে তৈরি এনভায়রনমেন্ট ভেরিয়েবলঅতএব, যদি আপনি এটিকে স্থায়ী রাখতে চান, তাহলে PowerShell চালু করার আগে আপনাকে এটিকে উপযুক্ত স্কোপে (ব্যবহারকারী, মেশিন, বা স্টার্টআপ স্ক্রিপ্ট) সংজ্ঞায়িত করতে হবে, পরে নয়।
এই ভেরিয়েবলগুলি কীভাবে পরিচালনা করবেন সে সম্পর্কে আপনার যদি কোনও প্রশ্ন থাকে, তাহলে ডকুমেন্টেশন নিজেই পরিবেশ_পরিবর্তনশীল সম্পর্কে এবং PowerShell এনভায়রনমেন্ট ভেরিয়েবল গাইড আপনাকে অপারেটিং সিস্টেমের উপর নির্ভর করে সঠিক পদ্ধতি বেছে নিতে সাহায্য করে।
এছাড়াও, মনে রাখবেন যে PowerShell বিতরণকারী ইনস্টলার প্যাকেজগুলি স্বয়ংক্রিয়ভাবে কনফিগার করে POWERSHELL_DISTRIBUTION_CHANNEL ইনস্টলেশন চ্যানেলটি আলাদা করার জন্য। এই ভেরিয়েবলটি টেলিমেট্রিতেও অন্তর্ভুক্ত, তাই এটি ম্যানুয়ালি ম্যানিপুলেট করা উচিত নয়।
পাওয়ারশেলকে প্রভাবিত করে এমন মূল পরিবেশগত ভেরিয়েবল
পাওয়ারশেল পরিবেশের ভেরিয়েবলগুলিকে একটি বিশেষ ডেটা টাইপ হিসেবে বিবেচনা করে, সর্বদা এই আকারে চাইল্ড প্রসেস অনুসারে উত্তরাধিকারসূত্রে প্রাপ্ত টেক্সট স্ট্রিংএটি তাদেরকে গোপনীয়তা, আপডেট, অথবা মডিউল পাথের মতো বিশ্বব্যাপী বিকল্পগুলি নিয়ন্ত্রণের জন্য আদর্শ করে তোলে।
ইঞ্জিন নিজেই নির্দিষ্ট ভেরিয়েবলের একটি সিরিজ সংজ্ঞায়িত করে, যার মধ্যে নিম্নলিখিতগুলি আলাদা: POWERSHELL_TELEMETRY_OPTOUT, POWERSHELL_DISTRIBUTION_CHANNEL, POWERSHELL_UPDATECHECK, PSExecutionPolicyPreference, PSModulePath, PSModuleAnalysisCachePath y PSDisableModuleAnalysisCacheCleanup.
En উইন্ডোজএই ভেরিয়েবলগুলি বাস করতে পারে মেশিন (সিস্টেম), ব্যবহারকারী বা প্রক্রিয়া সুযোগবর্তমান প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে মেশিন এবং ব্যবহারকারীর সংজ্ঞাগুলিকে একত্রিত করে, এবং একটি সেশনে আপনার করা যেকোনো পরিবর্তন কেবল সেই প্রক্রিয়াটিকেই প্রভাবিত করে যদি না আপনি অন্য উপায়ে সেগুলিকে স্থায়ী করেন।
PowerShell থেকে মেশিন বা ব্যবহারকারী-স্তরের মান পরিবর্তন করতে, আপনাকে ব্যবহার করতে হবে .NET ক্লাস System.Environment, যা সেই স্কোপগুলিতে ভেরিয়েবল পড়ার এবং লেখার পদ্ধতিগুলি প্রকাশ করে, যদি আপনার কাছে এটি করার জন্য পর্যাপ্ত অনুমতি থাকে।
মনে রাখবেন যে, স্ট্রিং হওয়ায়, পরিবেশের ভেরিয়েবলগুলি সংযুক্ত করা, খালি করা, অথবা অপসারণ করা বেশ সহজেই, যা জটিল কনফিগারেশন স্ক্রিপ্ট বা স্থাপনার অটোমেশনের জন্য খুবই কার্যকর।
PowerShell-এ পরিবেশগত ভেরিয়েবল অ্যাক্সেস এবং সংশোধন করার উপায়
পাওয়ারশেল বিভিন্ন উপায় প্রদান করে পরিবেশের ভেরিয়েবলগুলি অনুসন্ধান এবং সংশোধন করুনতুমি যা করছো তার উপর নির্ভর করে (লিপি (দ্রুত, জটিল মডিউল, প্রশাসনিক কাজ) আপনি যেকোনো একটি ব্যবহার করতে আগ্রহী হবেন।
সবচেয়ে সরাসরি উপায় হল উপসর্গ সহ পরিবর্তনশীল বাক্য গঠন $Env:যা আপনাকে একটি ভেরিয়েবলের মান পড়তে বা এটিকে একটি নতুন মান নির্ধারণ করতে দেয় যেন এটি অন্য কোনও পাওয়ারশেল ভেরিয়েবল, উদাহরণস্বরূপ $Env:windir o $Env:Foo = "Algo".
উপরন্তু, আপনি ব্যবহার করতে পারেন পরিবেশ সরবরাহকারী (Env:) স্ট্যান্ডার্ড cmdlets সহ উপাদানের সংখ্যা (Get-Item, New-Item, Set-Item, Remove-Itemইত্যাদি), যা ফাইল সিস্টেম ইউনিটগুলির চিকিৎসার জন্য একটি অত্যন্ত সামঞ্জস্যপূর্ণ পদ্ধতি প্রদান করে।
যেসব পরিস্থিতিতে আপনি মেশিন বা ব্যবহারকারী স্তরে কাজ করতে চান, অথবা .NET কোডের সাথে একীভূত করতে চান, সেখানে আপনার কাছে পদ্ধতিগুলি আছে [Environment]::GetEnvironmentVariable() y [Environment]::SetEnvironmentVariable()এই পদ্ধতিগুলি আপনাকে স্পষ্টভাবে সুযোগ নির্বাচন করতে দেয় (Process, User o Machine) উইন্ডোজ সিস্টেমে।
PowerShell 7.5 থেকে, একটি নির্দিষ্ট আচরণও রয়েছে: আপনি পারেন একটি খালি স্ট্রিংয়ে একটি ভেরিয়েবল সেট করুন অথবা $null সেশন খালি করতে বা অপসারণ করতে, সিনট্যাক্স ব্যবহার করে $Env: মাধ্যমে Set-Item অথবা পদ্ধতিগুলি System.Environment.
টেলিমেট্রি এবং আচরণের সাথে সম্পর্কিত পাওয়ারশেল পরিবেশের ভেরিয়েবল
পাওয়ারশেলের বেশ কিছু অভ্যন্তরীণ বৈশিষ্ট্য পরিবেশগত ভেরিয়েবলের উপর নির্ভর করে যা উত্তরাধিকারসূত্রে পাওয়া পছন্দের পতাকাএটি আপনাকে প্রতিটি স্ক্রিপ্টে কোড পরিবর্তন না করেই শেল বা টেলিমেট্রি আচরণ সামঞ্জস্য করতে দেয়।
সবচেয়ে স্পষ্ট হল POWERSHELL_TELEMETRY_OPTOUTযা, যেমনটি আমরা ইতিমধ্যেই দেখেছি, ইঞ্জিনের নেটিভ টেলিমেট্রি সেট করা হলে তা নিষ্ক্রিয় করে। true, yes o 1এটি কার্যকর হওয়ার জন্য, PowerShell প্রক্রিয়া শুরু করার আগে এটি বিদ্যমান থাকতে হবে।
আরেকটি অত্যন্ত গুরুত্বপূর্ণ বিষয় হল POWERSHELL_DISTRIBUTION_CHANNELএই ক্ষেত্রটি, যা ইনস্টলাররা PowerShell 7.2 থেকে স্বয়ংক্রিয়ভাবে পূরণ করেছে যাতে পণ্যটি কীভাবে ইনস্টল করা হয়েছে তা নির্দেশ করে, টেলিমেট্রি ডেটাতে অন্তর্ভুক্ত করা হয়েছে, তাই ম্যানুয়াল পরিবর্তন করার পরামর্শ দেওয়া হয় না।
পরিবর্তনশীল POWERSHELL_UPDATECHECK আপডেট বিজ্ঞপ্তিগুলি কীভাবে এবং কখন প্রদর্শিত হবে তা নিয়ন্ত্রণ করে। মান গ্রহণ করে যেমন Off ফাংশনটি নিষ্ক্রিয় করতে, Default আদর্শ আচরণের জন্য অথবা LTS শুধুমাত্র বর্ধিত সমর্থন সংস্করণের জন্য বিজ্ঞপ্তি পেতে।
অন্যদিকে, PSExecutionPolicyPreference প্যারামিটার ব্যবহার করে কনফিগার করার সময় বর্তমান সেশনে সক্রিয় এক্সিকিউশন নীতি প্রতিফলিত করে -ExecutionPolicy, সিএমডিলেট Set-ExecutionPolicy সুযোগ সহ Processঅথবা সরাসরি ভেরিয়েবল সম্পাদনা করে। এই সেটিংটি বিশেষ করে উইন্ডোজে ডাউনলোড করা বা স্বাক্ষরবিহীন স্ক্রিপ্টগুলিকে প্রভাবিত করে।
এবং, অবশ্যই, মডিউল অনুসন্ধান পথটি নিয়ন্ত্রিত হয় PSModulePath, যা উইন্ডোজে একটি সেমিকোলন-বিভাজিত তালিকা অথবা *নিক্স প্ল্যাটফর্মে একটি কোলন-বিভাজিত তালিকা সংরক্ষণ করে, যেখানে সিস্টেম এবং ব্যবহারকারীর অবস্থান এবং এমনকি বহিরাগত ইনস্টলারদের দ্বারা পাথ উভয়ই যোগ করা হয়।
ক্যাশে এবং মডিউল বিশ্লেষণ: সূক্ষ্ম-টিউনিং
পাওয়ারশেল একটি বজায় রাখে মডিউল বিশ্লেষণ ক্যাশে অনুসন্ধান দ্রুততর করতে comandos এবং প্রতিটি স্টার্টআপ বা অনুসন্ধানে সমস্ত উপলব্ধ মডিউল ক্রমাগত পরিদর্শন করা এড়িয়ে চলুন।
পরিবেশ পরিবর্তনশীল PSModuleAnalysisCachePath ক্যাশে ফাইলটি কোথায় সংরক্ষণ করা হবে তা নির্ধারণ করুন। ডিফল্টরূপে, এটি নীচের পাথগুলিকে নির্দেশ করে $Env:LOCALAPPDATA উইন্ডোজ বা ~/.cache/powershell উইন্ডোজ নয় এমন সিস্টেমে, প্রতিটি ইনস্টলেশনের জন্য আলাদা ফাইলের নাম।
যদি আপনি সেই অবস্থানটি পরিবর্তন করতে চান, তাহলে আপনাকে এই ভেরিয়েবলটি সেট করতে হবে পাওয়ারশেল শুরু করার আগেএকটি সম্পূর্ণ পথ (ফাইলের নাম সহ) নির্দেশ করে যেখানে প্রক্রিয়াটির লেখার অনুমতি রয়েছে। পরিবর্তনগুলি কেবলমাত্র পরিবর্তনের পরে শুরু হওয়া প্রক্রিয়াগুলির জন্য কার্যকর হয়।
যদি আপনার লক্ষ্য মডিউল ক্যাশিং সম্পূর্ণরূপে নিষ্ক্রিয় করা হয়, তাহলে আপনি একটি অ-লিখনযোগ্য গন্তব্যস্থলে পথটি রুট করতে পারেন, যেমন NUL উইন্ডোজ বা /dev/null en লিনাক্সপাওয়ারশেল সেখানে ক্যাশে লেখার চেষ্টা করবে, এটি সফল হবে না, তবে এটি সেশনে কোনও দৃশ্যমান ত্রুটি তৈরি করবে না।
এর পরিপূরক হল চলক PSDisableModuleAnalysisCacheCleanupযদি আপনি এটি সেট করেন 1এটি স্বয়ংক্রিয় পরিষ্কারকরণ অক্ষম করে যা মডিউল এন্ট্রিগুলি সরিয়ে দেয় যা আর বিদ্যমান নেই, যা নির্দিষ্ট পরিস্থিতিতে কার্যকর যেখানে আপনি সেই ক্যাশে স্পর্শ করতে চান না।
স্ক্রিপ্ট এবং টেলিমেট্রির জন্য উপযোগী অন্যান্য পরিবেশগত ভেরিয়েবল
PowerShell-এর সাথে সম্পর্কিত নির্দিষ্ট ভেরিয়েবলের বাইরেও, সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলের একটি সেট রয়েছে যা সরাসরি প্রভাবিত করে স্ক্রিপ্টগুলি কীভাবে কার্যকর করা হয় এবং সিস্টেমটি কীভাবে আচরণ করে প্রান্তিকবিশেষ করে মাল্টিপ্ল্যাটফর্ম পরিবেশে।
পরিবর্তনশীল PATH এটি নির্ধারণ করে যে কোন ডিরেক্টরিতে এক্সিকিউটেবল অনুসন্ধান করতে হবে, যা আপনার PowerShell স্ক্রিপ্ট থেকে বহিরাগত বাইনারি চালু করার জন্য গুরুত্বপূর্ণ। উইন্ডোজে, ডিরেক্টরিগুলি ... দ্বারা পৃথক করা হয়। ;লিনাক্স বা ম্যাকোসে এটি ব্যবহৃত হয় :.
উইন্ডোজও আছে PATHEXTএটি সেই এক্সটেনশনগুলির তালিকা তৈরি করে যেগুলি সরাসরি এক্সিকিউটেবল বলে বিবেচিত হয়। যদি আপনি একই কনসোলে একটি স্ক্রিপ্টিং ভাষা চালাতে চান (উদাহরণস্বরূপ, স্ক্রিপ্টিং ফাইল), তাহলে আপনি উপযুক্ত কমান্ডটি ব্যবহার করতে পারেন। .py), আপনাকে এখানে এক্সটেনশনটি অন্তর্ভুক্ত করতে হবে এবং এর মতো সরঞ্জাম ব্যবহার করে সিস্টেমে এটি নিবন্ধন করতে হবে assoc y ftype থেকে সিএমডি.
উইন্ডোজ-বহির্ভূত প্ল্যাটফর্মগুলিতে, PowerShell ভেরিয়েবল ব্যবহার করে XDG কনভেনশনের সাথে খাপ খাইয়ে নেয় XDG_CONFIG_HOME, XDG_DATA_HOME y XDG_CACHE_HOME কনফিগারেশন পাথ, ডেটা এবং ক্যাশের জন্য, যা সিস্টেমের বাকি অংশের সাথে একীকরণকে সহজতর করে।
রঙ আউটপুট বৈশিষ্ট্য এবং টার্মিনাল নিয়ন্ত্রণের জন্য, PowerShell 7.2 এবং পরবর্তী সংস্করণগুলি TERM y NO_COLORএর মান অনুসারে TERM ANSI সিকোয়েন্সগুলি অক্ষম বা সামঞ্জস্য করা হয়েছে, এবং যদি থাকে NO_COLORআউটপুট স্টাইলটি রঙ ছাড়াই প্লেইন টেক্সটে বাধ্য করা হয়।
লগ এবং আপনার স্ক্রিপ্টের আউটপুট এগুলো আপনার স্ক্রিপ্ট লগ এবং আউটপুট কেমন দেখায় তা প্রভাবিত করে, যা কনসোলের অভিজ্ঞতা এবং ক্যাপচার করা টেলিমেট্রির পঠনযোগ্যতা উভয়কেই প্রভাবিত করে যখন আপনি আউটপুটকে ফাইলে পুনঃনির্দেশিত করেন।
ব্যবহারিক উদাহরণ: সোফিয়া স্ক্রিপ্ট এবং গোপনীয়তা এবং টেলিমেট্রি সেটিংস
PowerShell দিয়ে Windows 10-কে পরিবর্তন করার জন্য কমিউনিটিতে সবচেয়ে পরিচিত উদাহরণগুলির মধ্যে একটি হল উইন্ডোজ ১০ সোফিয়া স্ক্রিপ্ট, অপ্রয়োজনীয় উপাদানগুলির কনফিগারেশন, গোপনীয়তা এবং আনইনস্টলেশন স্বয়ংক্রিয় করার লক্ষ্যে ফাংশনগুলির একটি সেট।
এর বিকল্পগুলির মধ্যে, সোফিয়া স্ক্রিপ্টের ক্ষমতা অন্তর্ভুক্ত রয়েছে সিস্টেমের গোপনীয়তা এবং টেলিমেট্রি সামঞ্জস্য করুন, নির্ধারিত ডায়াগনস্টিক কাজগুলি অক্ষম করুন, OneDrive আনইনস্টল করুন, পথ পরিবর্তন করুন %TEMP% অথবা ডেস্কটপ, ডকুমেন্টস, এর মতো ব্যবহারকারীর ফোল্ডারগুলি স্থানান্তর করুন। ডাউনলোডইন্টারেক্টিভ মেনুর মাধ্যমে সঙ্গীত, ছবি বা ভিডিও।
এটি এর জন্য বৈশিষ্ট্যগুলিও অফার করে UWP অ্যাপ আনইনস্টল করুন WPF ফর্মের মাধ্যমে কনফিগারযোগ্য বর্জনের তালিকা মেনে চলা সমস্ত অ্যাকাউন্টের জন্য, সেইসাথে উইন্ডোজ বৈশিষ্ট্যগুলি অক্ষম করা বা ভিজ্যুয়াল উইজার্ড ব্যবহার করে সিস্টেমের ক্ষমতা অপসারণ করা।
আরেকটি আকর্ষণীয় দিক হল এটি পারে টাস্ক শিডিউলারে টাস্ক তৈরি করুন পর্যায়ক্রমিক পরিষ্কারের জন্য, স্টার্ট মেনু সামঞ্জস্য করা (আইটেম পিন করা বা আনপিন করা), নিয়ন্ত্রিত ফোল্ডার অ্যাক্সেস বা এক্সক্লুশনের মতো মাইক্রোসফ্ট ডিফেন্ডার সুরক্ষা বিকল্পগুলি ম্যানিপুলেট করা এবং এক্সপ্লোরার পুনরায় চালু না করে আইকন, পরিবেশ ভেরিয়েবল এবং টাস্কবার রিফ্রেশ করা।
সংক্ষেপে, এই ধরণের স্ক্রিপ্ট দেখায় যে কীভাবে, পাওয়ারশেলকে টেলিমেট্রি কনফিগারেশন, পরিবেশগত পরিবর্তনশীল এবং অটোমেশনের সাথে একত্রিত করে, এটি সম্ভব একটি উইন্ডোজ সিস্টেমের আচরণ সম্পূর্ণরূপে মডেল করতে কোনও প্রতিষ্ঠানের নীতিমালা বা ব্যক্তিগত পছন্দের সাথে খাপ খাইয়ে নেওয়া।
পাওয়ারশেল থেকে অ্যাপ্লিকেশন অন্তর্দৃষ্টিতে টেলিমেট্রি পাঠান
পাওয়ারশেলের নেটিভ টেলিমেট্রির বাইরে, অনেক অ্যাপ্লিকেশন তাদের নিজস্ব পর্যবেক্ষণ ডেটা পাঠায় Azure মনিটর অ্যাপ্লিকেশন অন্তর্দৃষ্টিতবে, কখনও কখনও, আপনি Azure পোর্টালটি খুললে চার্টগুলি খালি দেখায় অথবা গুরুত্বপূর্ণ রেকর্ডগুলি অনুপস্থিত থাকে।
সাধারণত কারণগুলি হল SDK বা অ্যাপ্লিকেশন ইনসাইট এজেন্ট কনফিগারেশন ত্রুটি, নেটওয়ার্ক ব্লক খাওয়ার বিন্দু, পাইপলাইনে টেলিমেট্রির সীমাবদ্ধতা বা বর্জন, নির্দিষ্ট লগ অ্যানালিটিক্স ঘটনা, অথবা API অনুসন্ধানে সমস্যা api.applicationinsights.io.
সমস্যার উৎসকে আলাদা করার জন্য একটি অত্যন্ত বাস্তবসম্মত পদ্ধতি হল ম্যানুয়ালি একটি একক পরীক্ষা টেলিমেট্রি লগ পাঠান PowerShell অথবা curl থেকে। যদি সেই রেকর্ডটি সফলভাবে অ্যাপ্লিকেশন ইনসাইটস রিসোর্সের লগ টেবিলে পৌঁছায়, তাহলে আপনি জানেন যে পাইপলাইনের একটি বড় অংশ কাজ করছে।
যখন আপনি একই মেশিন বা পরিবেশ থেকে পরীক্ষা করেন যেখানে আপনার অ্যাপ্লিকেশনটি চলে (উদাহরণস্বরূপ, VM বা অ্যাপ পরিষেবা), তখন আপনি এটিও যাচাই করেন যে ডিএনএস, ফায়ারওয়াল, টিএলএস এবং অনুমতি গ্রহণের পথ আটকাচ্ছে না।
যেসব পরিস্থিতিতে ইনজেশন পয়েন্টটি একটি Microsoft Entra ID (পূর্বে Azure AD) দিয়ে সুরক্ষিত থাকে, সেখানে আপনাকে নিশ্চিত করতে হবে যে অ্যাপ্লিকেশন বা স্ক্রিপ্টটি Entra ID দিয়ে সঠিকভাবে প্রমাণীকরণ করে; অন্যথায়, বাকি যন্ত্রাংশ সঠিক দেখালেও টেলিমেট্রি প্রত্যাখ্যান করা হবে।
প্রাপ্যতা টেলিমেট্রি পরীক্ষা করার জন্য পাওয়ারশেল স্ক্রিপ্ট
আপনার মেশিন থেকে অ্যাপ্লিকেশন ইনসাইট পর্যন্ত পুরো সার্কিটটি কাজ করছে কিনা তা যাচাই করতে, আপনি একটি ব্যবহার করতে পারেন পাওয়ারশেল স্ক্রিপ্ট যা একটি প্রাপ্যতা পরীক্ষার ফলাফল পাঠায়এই ধরণের টেলিমেট্রি আদর্শ কারণ এটি গ্রহণের নমুনা প্রক্রিয়ার অধীন নয়।
ধারণাটি সহজ: আপনি একটি প্রদান করেন সংযোগ চেইন অথবা একটি যন্ত্রের চাবিস্ক্রিপ্টটি এটিকে ভেঙে ইনজেশন পয়েন্ট বের করে এবং InstrumentationKey, একটি JSON তৈরি করে যার সাহায্যে AvailabilityData উদাহরণ হিসেবে এবং এটির সাথে পাঠায় Invoke-WebRequest সংশ্লিষ্ট REST শেষবিন্দুতে।
যদি আপনি শুধুমাত্র ইন্সট্রুমেন্টেশন কীটি পাস করেন, তাহলে স্ক্রিপ্টটি এর সাথে একটি সংযোগ স্ট্রিং তৈরি করবে বিশ্বব্যাপী শেষ বিন্দু https://dc.services.visualstudio.com/যদি আপনি সম্পূর্ণ সংযোগ স্ট্রিংটি পাস করেন, তাহলে এতে সংজ্ঞায়িত আঞ্চলিক ইনজেশন পয়েন্টটি ব্যবহার করা হবে, এবং যদি আপনি উভয়টি পাস করেন, তাহলে সংযোগ স্ট্রিংয়ে সংজ্ঞায়িত পয়েন্টটিই প্রাধান্য পাবে।
মৃত্যুদণ্ড কার্যকর করার সময়, একটি UTC ISO 8601 ফর্ম্যাটে টাইমস্ট্যাম্পJSON বডিটি পরীক্ষার ডেটা (সময়কাল, অবস্থান, বার্তা, অতিরিক্ত বৈশিষ্ট্য) দিয়ে পূর্ণ করা হয় এবং POST অনুরোধ পাঠানো হয়। HTTP 200 প্রতিক্রিয়া itemsReceived সমান itemsAccepted ইঙ্গিত দেয় যে গ্রহণের স্থানটি রেকর্ডটি গ্রহণ করেছে এবং গ্রহণ করেছে।
তারপর, Azure পোর্টালে অ্যাপ্লিকেশন ইনসাইটস রিসোর্সের লগস ট্যাবে যান, সংশ্লিষ্ট ধরণের জন্য একটি কোয়েরি চালান এবং নমুনা লগটি উপস্থিত হয়েছে কিনা তা পরীক্ষা করুন। যদি তা হয়, তাহলে আপনি জানেন যে সমস্যাটি সম্ভবত আপনার প্রকৃত অ্যাপ্লিকেশন যে SDK বা এজেন্ট ব্যবহার করে.
লিনাক্স বা উইন্ডোজে কার্ল দিয়ে টেলিমেট্রি পরীক্ষা করুন
আপনি যদি লিনাক্স বা ম্যাকোস পরিবেশ থেকে পরীক্ষা করতে চান, অথবা আপনি যদি পাওয়ারশেলের পরিবর্তে স্ট্যান্ডার্ড টুল ব্যবহার করতে চান, তাহলে আপনি একই পরীক্ষাটি করতে পারেন কার্ল একটি POST অনুরোধ পাঠাচ্ছে অ্যাপ্লিকেশন ইনসাইটস এন্ডপয়েন্টে JSON কন্টেন্ট সহ।
এই ক্ষেত্রে আপনি একটি অনুরূপ JSON বডি তৈরি করেন, যার সাথে baseType সমান AvailabilityDataএক্সিকিউশন আইডেন্টিফায়ার, পরীক্ষার নাম, সময়কাল, সাফল্যের সূচক, অবস্থান, বার্তা এবং ঐচ্ছিক বৈশিষ্ট্য। সর্বদা সামঞ্জস্য করতে ভুলবেন না ক্যাম্পো time একটি সাম্প্রতিক ব্র্যান্ডের কাছেকারণ অ্যাপ্লিকেশন ইনসাইট ৪৮ ঘন্টারও বেশি পুরনো ডেটা গ্রহণ করে।
লিনাক্স বা ম্যাকোসের জন্য, কমান্ডটিতে সাধারণত অন্তর্ভুক্ত থাকে মাথা Content-Type: application/json, POST পদ্ধতি, ইনলাইন JSON, এবং ইনজেশন পয়েন্ট URL (উদাহরণস্বরূপ https://dc.applicationinsights.azure.com/v2.1/track)। উইন্ডোজে, সিনট্যাক্স সামান্য পরিবর্তিত হয় কারণ JSON-এ আর্গুমেন্ট হিসেবে পাস করার সময় আপনাকে উদ্ধৃতি চিহ্ন এড়িয়ে যেতে হয়।
একবার এটি হয়ে গেলে, আপনি আবার HTTP প্রতিক্রিয়া পরীক্ষা করেন এবং যদি এটি সঠিক হয়, তাহলে আপনি অ্যাপ্লিকেশন ইনসাইটস লগে যান এবং যাচাই করেন যে আপনার পরীক্ষার টেলিমেট্রি এখন সংরক্ষিত এবং অনুসন্ধানযোগ্য, ঠিক যেমনটি পাওয়ারশেল স্ক্রিপ্টের সাথে ছিল।
এই পদ্ধতিটি আপনাকে এক নজরে SDK কনফিগারেশন সমস্যাগুলি বাতিল করতে দেয়, ফোকাস করে নেটওয়ার্ক, DNS, TLS, এন্ডপয়েন্ট প্রমাণীকরণ, অথবা নমুনা নীতি প্রতিক্রিয়ায় আপনি যে লক্ষণগুলি দেখতে পাচ্ছেন তার উপর ভিত্তি করে।
অনুরোধ টেলিমেট্রি পরীক্ষা করার জন্য পাওয়ারশেল স্ক্রিপ্ট
প্রাপ্যতা পরীক্ষার পাশাপাশি, আপনি প্রায়শই পরীক্ষা করতে আগ্রহী হন HTTP অনুরোধ টেলিমেট্রিবিশেষ করে যখন আপনার ড্যাশবোর্ডগুলি কোনও API বা ওয়েব অ্যাপ্লিকেশন থেকে আগত অনুরোধের মেট্রিক্সের উপর ভিত্তি করে তৈরি হয়।
এটি করার জন্য আপনি উপলব্ধতার অনুরূপ আরেকটি PowerShell স্ক্রিপ্ট ব্যবহার করতে পারেন, কিন্তু এবার একটি JSON তৈরি করতে পারেন যার মাধ্যমে baseType সমান RequestDataঅনুরোধ শনাক্তকারী এবং অপারেশনের নাম (উদাহরণস্বরূপ) এর মতো ক্ষেত্রগুলি সাধারণত অন্তর্ভুক্ত থাকে। GET /ruta/prueba/), শুরুর সময়, সময়কাল, URL, প্রতিক্রিয়া কোড এবং HTTP পদ্ধতি।
স্ক্রিপ্টটি একই মেকানিক্স অনুসরণ করে: এটি সংযোগ স্ট্রিং বা ইন্সট্রুমেন্টেশন কী ভেঙে দেয়, ইনজেশন URL তৈরি করে (v2/track), UTC-তে বর্তমান সময় গণনা করে, JSON একত্রিত করে এবং কার্যকর করে Invoke-WebRequest POST পদ্ধতি ব্যবহার করেযদি আপনি কোড 200 এবং প্রতিক্রিয়ায় প্রত্যাশিত বিষয়বস্তু পান, তাহলে ইনজেশন অংশটি কাজ করছে।
এখানে একটি গুরুত্বপূর্ণ বিষয়: আবেদনগুলি প্রকৃতপক্ষে প্রভাবিত হতে পারে গ্রহণের নমুনা প্রক্রিয়া সার্ভারের দিক থেকে। যদি আপনি ডেটার পরিমাণ কমাতে স্যাম্পলিং কনফিগার করে থাকেন, তাহলে আপনি সমস্ত পরীক্ষার অনুরোধ দেখতে নাও পেতে পারেন যদি না আপনি এটি সাময়িকভাবে অক্ষম করেন বা শতাংশ সামঞ্জস্য করেন।
একবার আপনার পরীক্ষার লগ অ্যাপ্লিকেশন অন্তর্দৃষ্টিতে উপস্থিত হলে, পরবর্তী পদক্ষেপ হল আপনার কোডটি কীভাবে ইন্সট্রুমেন্ট করা হয় (SDK, ফিল্টার, স্যাম্পলিং, এক্সক্লুশন ইত্যাদি) তার উপর ফোকাস করা যাতে প্রকৃত অনুরোধগুলি ম্যানুয়াল পরীক্ষার মতো সহজে লগিং করা না হয় তা খুঁজে বের করা যায়।
টেলিমেট্রি পাঠানোর সময় সাধারণ SSL/TLS সমস্যা
এই পরীক্ষা স্ক্রিপ্টগুলি চালানোর সময় ত্রুটির সম্মুখীন হওয়া অস্বাভাবিক নয়। করমর্দনের সময় SSL বা TLSবিশেষ করে সীমাবদ্ধ পরিবেশে অথবা যখন কর্পোরেট প্রক্সিরা ট্র্যাফিক পরিদর্শন করছে।
অ্যাপ্লিকেশন ইনসাইট সহ অনেক Azure পরিষেবার জন্য কমপক্ষে TLS 1.2 এবং সংযোগ গ্রহণের জন্য নির্দিষ্ট সাইফার স্যুট। যদি সিস্টেম বা অ্যাপ্লিকেশনটি ডিফল্টরূপে TLS 1.0 বা 1.1 ব্যবহার করতে থাকে, তাহলে সার্ভার JSON প্রক্রিয়া করার আগেই সংযোগটি ব্যর্থ হতে পারে।
PowerShell আপনাকে সেটিং করে সমর্থিত প্রোটোকল জোর করার অনুমতি দেয় [System.Net.ServicePointManager]::SecurityProtocol কার্যকর করার আগে Invoke-WebRequestআপনার পরিবেশে কী কাজ করে তা দেখার জন্য আপনি SSL3, TLS, TLS 1.1, TLS 1.2 অথবা TLS 1.3 ব্যবহার করে দেখতে পারেন, যদিও উৎপাদনে নিরাপত্তা নির্দেশিকা যা বলে তা মেনে চলার পরামর্শ দেওয়া হয়।
যদি আপনার SSL পরিদর্শনের জন্য প্রক্সি বা ফায়ারওয়াল থাকে, তাহলে সার্টিফিকেট যাচাইকরণ ব্যর্থ হতে পারে। এর একটি বিকল্প আছে সার্টিফিকেট যাচাইকরণ অক্ষম করুন এমন একটি কাস্টম নীতি তৈরি করা যা সর্বদা সত্য ফেরত দেয়, তবে এটি এমন কিছু যা আপনার কেবল ডায়াগনস্টিকভাবে ব্যবহার করা উচিত এবং স্থায়ী সমাধান হিসাবে কখনই নয়।
যখন আপনাকে Windows-এ .NET অ্যাপ্লিকেশন দ্বারা ব্যবহৃত ডিফল্ট TLS সংস্করণগুলি পরিবর্তন করতে হবে, তখন সঠিক পদ্ধতি হল এই পদক্ষেপগুলি অনুসরণ করা: রেজিস্ট্রিতে অফিসিয়াল TLS কনফিগারেশন সুপারিশ এবং স্ক্রিপ্টগুলিতে ছড়িয়ে ছিটিয়ে থাকা হ্যাকগুলি প্রবর্তনের পরিবর্তে, কাঠামোতেই।
মাইক্রোসফটের সাথে প্রমাণীকরণ ত্রুটি। অ্যাপ্লিকেশন অন্তর্দৃষ্টিতে আইডি লিখুন।
যদি আপনার অ্যাপ্লিকেশন অন্তর্দৃষ্টি সংস্থান শুধুমাত্র গ্রহণ করার জন্য কনফিগার করা থাকে মাইক্রোসফট এন্টার আইডি ব্যবহার করে প্রমাণীকরণ (পূর্বে Azure AD) ব্যবহৃত হয়, বৈধ শংসাপত্র ছাড়া ইন্সট্রুমেন্টেশন কী দিয়ে পাঠানো টেলিমেট্রি স্পষ্ট HTTP ত্রুটি সহ বাতিল করা হবে।
একটি কোড HTTP 400, যেখানে একটি বার্তা রয়েছে যে ক্লাসিক প্রমাণীকরণ সমর্থিত নয় এর অর্থ সাধারণত রিসোর্সটি শুধুমাত্র Entra ID হিসেবে চিহ্নিত থাকে, কিন্তু SDK বা স্ক্রিপ্টটি পুরানো API কল করছে। সেক্ষেত্রে, আপনাকে SDK কনফিগারেশন এবং ব্যবহৃত সংযোগ স্ট্রিংটি পরীক্ষা করতে হবে।
একটি ভুল HTTP 401 "অনুমোদন প্রয়োজন" এর থেকে বোঝা যায় যে SDK Entra ID ব্যবহার করার চেষ্টা করছে কিন্তু একটি বৈধ টোকেন অর্জন করতে পারছে না; এটি হতে পারে পরিচালিত পরিচয় সক্ষম না থাকার কারণে, শংসাপত্র অনুপস্থিত থাকার কারণে, অথবা ক্লায়েন্টে Azure Identity-এর সমস্যার কারণে।
কোড HTTP 403 "অননুমোদিত" এর অর্থ হল একটি টোকেন প্রাপ্ত হয়েছে, কিন্তু ব্যবহৃত পরিচয়পত্রের অ্যাপ্লিকেশন ইনসাইটস রিসোর্স বা সাবস্ক্রিপশনে পর্যাপ্ত অনুমতি নেই। এই ক্ষেত্রে, আপনার অ্যাক্সেস নিয়ন্ত্রণ পর্যালোচনা করা উচিত এবং নিশ্চিত করা উচিত যে পরিচয়পত্রটিতে কমপক্ষে মনিটরিং মেট্রিক্স প্রকাশকের ভূমিকা রয়েছে।
ভাষার উপর নির্ভর করে (Node.js, পাইথনইত্যাদি), এটি সক্রিয় করার পরামর্শ দেওয়া হচ্ছে অভ্যন্তরীণ SDK লগ অথবা Azure Identity লগ ব্যবহার করে দেখা যায় যে প্রমাণীকরণের কোন ধাপটি ব্যর্থ হচ্ছে এবং কোন বার্তা সহ।
বাস্তব-বিশ্বের পরিবেশে টেলিমেট্রি, স্ক্রিপ্ট এবং সর্বোত্তম অনুশীলন
উপরের সবগুলোর অর্থ হল, যখন আপনি চান PowerShell-এ স্ক্রিপ্টগুলিতে টেলিমেট্রি যোগ করুনআপনার পরিচালনা করার জন্য দুটি স্তর রয়েছে: একদিকে, ইঞ্জিনের স্বয়ংক্রিয় টেলিমেট্রি, এবং অন্যদিকে, অ্যাপ্লিকেশন ইনসাইট বা অন্যান্য গন্তব্যস্থলের মতো সিস্টেমে আপনি যে স্পষ্ট টেলিমেট্রি পাঠান।
স্থানীয় স্তরে, এটি কীভাবে কাজ করে তা জানা গুরুত্বপূর্ণ। পাওয়ারশেল_টেলিমেট্রি_অপ্টআউট, সেশনের শুরুতে এবং চলাকালীন কোন তথ্য সংগ্রহ করা হয়, এবং কীভাবে ভেরিয়েবল যেমন POWERSHELL_DISTRIBUTION_CHANNEL o POWERSHELL_UPDATECHECK বিশ্বব্যাপী আচরণ নিয়ন্ত্রণ করতে।
আপনার স্ক্রিপ্টের ক্ষেত্রে, আপনি পরিবেশের ভেরিয়েবল, সরবরাহকারীর সুবিধা নিতে পারেন Env:, পদ্ধতিগুলি System.Environment এবং সোফিয়া স্ক্রিপ্টের মতো সরঞ্জামগুলির জন্য গোপনীয়তা, রুট, ক্যাশে এবং কার্যকরকরণ নীতিগুলি সামঞ্জস্য করুন, যখন আপনি বহিরাগত পরিষেবাগুলিতে মেট্রিক্স এবং লগ পাঠানোর জন্য আপনার প্রক্রিয়াগুলি বাস্তবায়ন করেন।
পাওয়ারশেল এবং কার্লের সাথে ম্যানুয়াল টেলিমেট্রি পরীক্ষা একত্রিত করে, TLS প্রোটোকল পর্যবেক্ষণ করে এবং মাইক্রোসফ্ট এন্ট্রা আইডির সাথে সঠিকভাবে প্রমাণীকরণ কনফিগার করে, এটি সম্ভব একটি শক্তিশালী এবং নির্ভরযোগ্য টেলিমেট্রি পাইপলাইন এমনকি অত্যন্ত নিয়ন্ত্রিত কর্পোরেট পরিবেশেও।
যখন আপনি বুঝতে পারবেন যে পরিবেশগত পরিবর্তনশীল থেকে শুরু করে ক্লাউড ইনজেশন পর্যন্ত এই সম্পূর্ণ টেলিমেট্রি স্তরটি কীভাবে সাজানো হয়েছে, তখন সিদ্ধান্ত নেওয়া অনেক সহজ হয়ে যায়। কোন লিভার টিপতে হবে যদি একদিন তোমার Azure চার্ট বা লগ রহস্যজনকভাবে আপডেট হওয়া বন্ধ করে দেয়।
সাধারণভাবে বাইট এবং প্রযুক্তির বিশ্ব সম্পর্কে উত্সাহী লেখক। আমি লেখার মাধ্যমে আমার জ্ঞান ভাগ করে নিতে পছন্দ করি, এবং আমি এই ব্লগে এটিই করব, আপনাকে গ্যাজেট, সফ্টওয়্যার, হার্ডওয়্যার, প্রযুক্তিগত প্রবণতা এবং আরও অনেক কিছু সম্পর্কে সবচেয়ে আকর্ষণীয় জিনিস দেখাব৷ আমার লক্ষ্য হল আপনাকে একটি সহজ এবং বিনোদনমূলক উপায়ে ডিজিটাল বিশ্বে নেভিগেট করতে সাহায্য করা।