পাওয়ারহেলের লোকালহোস্টের জন্য পরীক্ষা?


8

আমার কাছে পাওয়ারশেল স্ক্রিপ্ট রয়েছে যা কল Get-WmiObjectকরে -Credential। যাইহোক, আমি যদি স্থানীয় মেশিনের বিরুদ্ধে এটি চালাচ্ছি তবে এই ত্রুটিগুলি বের হয়ে যায়:

Get-WmiObject : User credentials cannot be used for local connections

এই ত্রুটিটি এড়াতে লোকালহোস্ট যুক্তি যুক্ত করার সঠিক উপায় কী? নাকি এর চেয়ে ভাল উপায় আছে?


আপনি কম্পিউটারনেম প্যারামিটারে কীভাবে পার করছেন?
— ক্রিস্টোফার

@ ক্রিস্টোফার: আইপি (১০.১০ xxx) এর দ্বারা, কোনও অ্যাপ্লিকেশন এটি চালিত হওয়ার কারণে এর উপর খুব বেশি নিয়ন্ত্রণ থাকবে না।
— কাইল ব্র্যান্ডট

উত্তর:


3

আপনি সর্বদা ডাব্লুএমআই এর মাধ্যমে স্থানীয় আইপিটি জিজ্ঞাসা করতে পারেন এবং এটি $ লোকালআইপিতে সঞ্চয় করতে পারেন এবং তারপরে বর্তমানে আপনার পাইপলাইন বা অ্যারেতে যে ঠিকানাটি রয়েছে তার বিপরীতে মেলে:

if ($localIP -eq $otherIP) { get-wmiobject without -credential }    
else { existing query }

2

যদি আপনি এটি প্রথম কমান্ডে ক্ষয় বন্ধের চেষ্টা করে ক্যাচ ব্লকে আবদ্ধ করেন তবে এটি ত্রুটিটি আটকে দেবে এবং শংসাপত্র ছাড়াই ক্যাচ ব্লকটি চালায়।

Try
{
Get-WmiObject -Credential domain\user -ComputerName localhost -class Win32_BIOS -erroraction Stop
}
Catch
{
Get-WmiObject -ComputerName localhost -class Win32_BIOS
}

আমি যে ত্রুটি পাচ্ছি তার জন্য PS কি আমাকে কোনও বিশেষ ব্যতিক্রম ধরতে দেয়?
— কাইল ব্র্যান্ড্ট

আপনি যদি নেট নেট ব্যতিক্রম ক্লাসটি জানেন তবে আপনি এটি এর মতো করতে পারেন ... [সিস্টেম.Net.SomeWMIExceptionClass] ধরুন {কোড এখানে যায়}
— ক্রিস্টোফার

আমি ভুল. এই প্রশ্নে স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 3097785/… এবং আমি কিছু পরীক্ষা করেছি, পাওয়ারশেল ব্যতিক্রমটিকে আবৃত করে যাতে আপনি নির্দিষ্ট ত্রুটিগুলি ধরতে পারেন না।
— ক্রিস্টোফার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.