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


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.