উইন্ড্রম এবং মাইক্রোসফ্ট ব্যবহার করে দূরবর্তী থেকে প্যাচিং সার্ভারগুলির সমস্যাগুলি


10

আমার উইন্ডোজ 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.

এটি কীভাবে জানতে পারে যে আমি একটি দূরবর্তী কম্পিউটারে আছি?


এটি কোনও ডাব্লুএসইউএস দৃষ্টান্ত দাঁড়িয়ে এবং সেই পথে যাওয়ার চেয়ে অনেক জটিল বলে মনে হচ্ছে। আপনি কি সেই পথটি বিবেচনা করেছেন?
ড্রিফটপেজেন্ট

আপনি ঠিক কখন নিয়ন্ত্রণ করতে পারবেন না কখন কোনও সার্ভার ক্রয় হবে এবং নিশ্চিত হয়ে নিন যে এটি একা ডাব্লুএসইউএসের সাথে ফিরে আসবে। আমরা নিজেরাই আপডেটের জন্য এটিকে উপার্জন করি। আমি আগ্রহী যদি আপনি এটি চাহিদা অনুযায়ী কাজ করতে এটি ট্রিগার করতে পারেন।
16

সার্ভারে পাওয়ারশেল ওয়েব অ্যাক্সেস 2012 ব্যবহার করার ক্ষেত্রে আমার একই সমস্যা রয়েছে, পর্দার পিছনে এটি পাওয়ারশেল রিমোটিংও ব্যবহার করে। একই ত্রুটি।
পিটার হানডরফ

1
এখানে সম্ভাব্য উত্তর সার্ভারফল্ট
নিক

@ রেকনবোট আমি এটির অনেক পুরানো প্রশ্ন জানি তবে আমিও সমস্যার মুখোমুখি। আপনি কি কোনও স্থির বা বিকল্প উপায় পেয়েছেন?
মেশিন

উত্তর:


6

আপনি কেবল এটি সঙ্গিনী করতে পারবেন না, কারণ এমএস আপনাকে WUApi এর মাধ্যমে এটি করার অনুমতি দেয় না।

বিশদগুলি এখানে পাওয়া যাবে: http://msdn.microsoft.com/en-us/library/windows/desktop/aa387288(vvv.85).aspx

এটি করার জন্য আপনি নির্ধারিত টাস্কটি ব্যবহার করার চেষ্টা করতে পারেন।


0

এই জাতীয় কমান্ডটি দূরবর্তী মেশিনে সুবিধাগুলি সহ চালানো দরকার, যেহেতু দূরবর্তী মেশিনে কোনও ডোমেন প্রশাসক ব্যবহারকারী বা প্রশাসক হিসাবে চালানো দরকার।

যদি আপনার প্রথম মামলা হয় তবে আমার কোনও সহায়তা নেই তবে আপনি কেবল স্থানীয় প্রশাসক, দূরবর্তী নন, get-credentialএই জাতীয় ব্যবহার করুন ।

$cred = get-credential

Invoke-Command -ComputerName localhost -credential $cred -scriptblock {}

একটি বিকল্প এবং আরও সরাসরি ফর্মটি Invoke-Commandশংসাপত্রগুলির জন্য জিজ্ঞাসা করা যাক :

Invoke-Command -scriptblock {$ENV:username} -Credential ""

আমি প্রশাসক অ্যাকাউন্টের শংসাপত্র নিয়ে চলছি, ত্রুটিটি নির্দিষ্ট করে "দূরবর্তী কম্পিউটার থেকে এই পদ্ধতিটি কল করা যায় না।"
26:38

0

স্থানীয় ভার্চুয়াল অ্যাকাউন্ট হিসাবে চালানোর জন্য আমি রিমোট সার্ভারে একটি জেএ এন্ডপয়েন্ট স্থাপন করে এই কাজটি করতে সক্ষম হয়েছি।

Https://docs.microsoft.com/en-us/powershell/jea/session-configurations থেকে :

স্থানীয় ভার্চুয়াল অ্যাকাউন্ট

যদি এই জেএএ শেষ পয়েন্ট দ্বারা সমর্থিত ভূমিকাগুলি সমস্ত স্থানীয় মেশিন পরিচালনার জন্য ব্যবহৃত হয় এবং একটি স্থানীয় প্রশাসক অ্যাকাউন্ট সফলভাবে কমান্ডগুলি চালাতে যথেষ্ট হয়, আপনার স্থানীয় ভার্চুয়াল অ্যাকাউন্ট ব্যবহার করার জন্য জেইএ কনফিগার করা উচিত। ভার্চুয়াল অ্যাকাউন্টগুলি অস্থায়ী অ্যাকাউন্ট যা নির্দিষ্ট ব্যবহারকারীর কাছে অনন্য এবং কেবলমাত্র তাদের পাওয়ারশেল সেশনের সময়কালের জন্য স্থায়ী হয়। কোনও সদস্য সার্ভার বা ওয়ার্কস্টেশনে ভার্চুয়াল অ্যাকাউন্টগুলি স্থানীয় কম্পিউটারের প্রশাসক গোষ্ঠীর অন্তর্ভুক্ত এবং বেশিরভাগ সিস্টেমের সংস্থানগুলিতে অ্যাক্সেস রয়েছে। একটি সক্রিয় ডিরেক্টরি ডোমেন কন্ট্রোলারে, ভার্চুয়াল অ্যাকাউন্টগুলি ডোমেনের ডোমেন প্রশাসনিক গোষ্ঠীর অন্তর্ভুক্ত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.