আমার উইন্ডোজ 2003, 2008 এবং 2008r2 সার্ভারগুলির সাথে একটি নেটওয়ার্ক রয়েছে। আমার কাছে একটি পাওয়ারশেল স্ক্রিপ্ট রয়েছে যা আমি "মাইক্রোসফ্ট.অপুটেট" কম অবজেক্ট ব্যবহার করে একটি স্থানীয় মেশিন প্যাচ করতে লিখেছিলাম। ( উইন্ডোজ আপডেট পাওয়ারশেল রিমোটিংয়ের অনুরূপ )) আমার স্ক্রিপ্টটি স্থানীয়ভাবে আশ্চর্যজনকভাবে কাজ করে তবে আমি এটির কাজগুলি দূরবর্তীভাবে ব্যবহার করতে চাই কারণ আমার পরিচালনা করার জন্য আমার কাছে যথেষ্ট সংখ্যক সার্ভার রয়েছে। সেক্ষেত্রে এটি নিচে পড়ে (একইভাবে অন্য পোস্টের মতো, যা সমাধান হয়নি)।
তবে আমি ব্যর্থতাটি একটি নির্দিষ্ট শ্রেণীর দুটি পদ্ধতিতে সংকীর্ণ করতে সক্ষম হয়েছি।
(New-Object -ComObject "Microsoft.Update.Session").CreateUpdateDownloader()
(New-Object -ComObject "Microsoft.Update.Session").CreateUpdateInstaller()
আপনি যদি এটিকে প্রশাসক হিসাবে স্থানীয়ভাবে পাওয়ারশেলের মাধ্যমে চালান, আপনার কোনও সমস্যা হবে না। আপনি যদি ইনভোক-কমান্ড (বা প্রবেশ সেশন, বা উইন্টার) ব্যবহার করার চেষ্টা করেন তবে আপনি নীচের ত্রুটি পাবেন। (এটি লোকালহোস্টের সাথে পরীক্ষা করছে, তবে যে কোনও হোস্ট তা করবে I've আমি বিভিন্ন প্রমাণীকরণের পদ্ধতি যেমন ক্রেডিএসএসপি এবং কার্বেরোও দিয়ে চেষ্টা করেছি));
PS C:\> Invoke-Command -ComputerName localhost -ScriptBlock { (New-Object -ComObject "microsoft.update.session").createUpdateDownloader()}
Exception calling "CreateUpdateDownloader" with "0" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005
(E_ACCESSDENIED))"
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
আমি এটি ব্লগগুলিতে একটি বাগ হিসাবে উল্লেখ করেছি, কিন্তু সেই দাবির কোনও ব্যাকআপ নেই। দু'টি কাজের অস্তিত্ব রয়েছে এবং উভয়ই আমাকে খুশি করে না make
- সিস্টেম ব্যবহারকারী হিসাবে কমান্ড চালাতে psexec ব্যবহার করুন। পিএসইেক্সেক হ'ল আমি এটি ব্যবহার না করার চেষ্টা করছি কারণ এটি অবিশ্বস্ত প্রমাণিত হয়েছে। আমি একটি খাঁটি পাওয়ারশেল সমাধানও চাই।
- একটি নির্ধারিত টাস্ক তৈরি করুন এবং আপনার স্ক্রিপ্টটি সিস্টেম ব্যবহারকারী হিসাবে চালানোর জন্য বলুন। ( তার পোস্ট টি মাধ্যমে ) এটি কেবল অগোছালোই নয় তবে তারপরে আমি আপডেটের ফলাফলও পাব না। আমাকে একটি ফাইলে লগ করতে হবে বা একটি ডাটাবেস বা কিছু আপডেট করতে হবে।
আমি কোনও হোস্টের দূরবর্তী অবস্থান থেকে আপডেটগুলি চালনার অন্যান্য উপায়ের জন্য উন্মুক্ত, কারণ এটি মনে হচ্ছে অনেক লোক হুমকির মুখে পড়ছে।
আমি এমন কিছু দস্তাবেজ পেয়েছি যা বার্তাটি ব্যাখ্যা করে তবে কারণ বা কার্যকারিতা নয়।
সফল হলে রিটার্ন মান S_OK প্রদান করে। অন্যথায়, একটি COM বা উইন্ডোজ ত্রুটি কোড দেয়।
This method can also return the following error codes. Return code Description E_INVALIDARGA parameter value is invalid. E_ACCESSDENIED This method cannot be called from a remote computer.
এটি কীভাবে জানতে পারে যে আমি একটি দূরবর্তী কম্পিউটারে আছি?