কমান্ড লাইন থেকে রিসাইকেলের দূরবর্তী আইআইএস অ্যাপ পুলটি?


26

কমান্ড লাইন থেকে কোনও আলাদা মেশিনে আইআইএস app অ্যাপ পুলটি পুনর্ব্যবহার করা সম্ভব?

আমি এপিসিএমডি ( appcmd recycle apppool my-app-pool) পেয়েছি , তবে এটি কেবল এটি পরিচালিত হোস্টের উপরই কাজ করে, এএএএফসিটি।

আমি গুজব শুনেছি পাওয়ার পাওয়ারের সাথে এটি করার একটি উপায় থাকতে পারে তবে আমি এ সম্পর্কে কিছুই জানি না এবং আমি সম্ভবত এটির জন্য গুগলিং করতে খুব একটা ভাল নই।

আমি যদি ভিস্তা / সার্ভার ২০০৮ ব্যবহার করি তবে তা গুরুত্বপূর্ণ।

সম্পাদনা করুন: আমি কিছু বলা পাওয়া WinRM যে কারো দাবি অ্যাপ্লিকেশন এর নিজেই চালাতে সক্ষম হয়, কিন্তু আমি নিশ্চিত ঠিক নই কিভাবে, এখনো।

উত্তর:


28

কেন, এটি যদি সিএমডি থেকে চালানো হয় তবে আপনি এটি পিএসইএক্সেকের সাহায্যে করতে পারেন । আপনি যে সার্ভারটি অ্যাক্সেস করতে চান তাতে এটির কোনও ইনস্টলেশন প্রয়োজন requires

আপনি জিপের সামগ্রীগুলি কেবল আপনার সিস্টেম 32 ফাইলের অনুলিপি করুন (ELUA বা DLL ফাইলটি অন্তর্ভুক্ত করবেন না) আপনি যে কম্পিউটারটি দূরবর্তী থেকে FROM করতে চান।
তারপরে সিএমডি
টাইপ দিন
Psexec \\{Computer Name of ISS7 Server} %systemroot%\System32\inetsrv\appcmd recycle apppool my-app-pool

আপনি যদি কোনও ডোমেন প্রশাসক অ্যাকাউন্টে একই ডোমেনে না থাকেন তবে প্রশাসনিক অ্যাক্সেসের জন্য আপনাকে শংসাপত্র প্রবেশ করতে হবে। আরও তথ্যের জন্য কোনও আর্গুমেন্ট ছাড়াই কমান্ড লাইনে psexec টাইপ করুন।


4
AppCmd.exe অবস্থান (% systemroot% \ system32 \ inetsrv) স্বয়ংক্রিয়ভাবে PATH এর অংশ নয়। আপনি এটি আপনার পথে যোগ করতে পারেন বা অ্যাপসিএমডি চালাতে পারেন: "% systemroot% \ system32 \ inetsrv \ AppCmd.exe"
অ্যাশটনিয়াম

1
আপনি PsExec জন্য রিমোট কমান্ড উদ্ধৃত করবেন না; আপনি কমান্ডের নামটি পাঠান এবং তারপরে আর্গুমেন্টগুলি সমস্ত ফাঁক দিয়ে পৃথক করা হয়। সুতরাং আদেশটি Psexec \\computer c:\windows\system32\inetsrv\appcmd.exe" recycle apppool AppPoolName
কার্ল জি

6

পাওয়ারশেল থেকে এটি দূরবর্তীভাবে করতে আপনাকে হয় পাওয়ারশেল রিমোটিং ব্যবহার করতে হবে, বা ডাব্লুএমআই ব্যবহার করতে হবে।

এটি ইনভোক-ডাব্লুএমমিথড পাওয়ারশেল সেমিডলেট ব্যবহার করে আসলে খুব সহজ, তবে আপনাকে অবশ্যই উল্লেখ করতে হবে -Authentication PacketPrivacy ... এবং যদি আপনাকে বিভিন্ন শংসাপত্র নির্দিষ্ট করতে হয় তবে আপনি এটি প্যারামিটার দিয়ে করতে পারেন -Credential (Get-Credential)... এখানে একটি উদাহরণ রয়েছে:

$pc = "serverName"

## List the app pools, note the __RELPATH of the one you want to kill:
Get-WMIObject IISApplicationPool 
              -Computer $pc 
              -Namespace root\MicrosoftIISv2 
              -Authentication PacketPrivacy 

## Recycle a specific one:
$Name = "W3SVC/APPPOOLS/ASP.NET v4.0 Classic"  ## This is the Name from above
$Path = "IISApplicationPool.Name='$Name'"      ## This is the __RELPATH

Invoke-WMIMethod Recycle 
                 -Path $Path 
                 -Computer $pc 
                 -Namespace root\MicrosoftIISv2 
                 -Authentication PacketPrivacy

এগুলি সমস্ত মুছতে আমি একটি সুন্দর ফাংশন লিখেছি: http://poshcode.org/2466


3
রুট \ মাইক্রোসফ্টআইআইএসভি 2 নেমস্পেসটি উপলভ্য হওয়ার জন্য আপনার আইআইএস 7 এ "আইআইএস 6 ডাব্লুএমআই সামঞ্জস্য" সক্ষম করতে হবে। forums.iis.net/t/1158882.aspx
ব্রায়ান লো

3

কমান্ড লাইনটি যদি আপনার চয়েজ হয় , তবে PsExec এর সমাধান বলে মনে হচ্ছে, তবে মিশন সমালোচনামূলক কাজগুলির জন্য আমি এটির প্রস্তাব দেব না। কারণটি নিম্নলিখিত: পিএসএক্সেকের একাধিক রান নিয়ে সমস্যা রয়েছে ।

আমি এই জাতীয় উদ্দেশ্যে এপিআই ব্যবহার করতে পছন্দ করি।

  1. এখানে বর্ণিত হিসাবে ডাব্লুএমআই কাজটি করবে (আমার প্রিয় সমাধান)।
  2. বিকল্পভাবে আপনি সার্ভার ম্যানেজার এপিআই ব্যবহার করতে পারেন । যদি আপনি সংশ্লিষ্ট শংসাপত্রগুলির সাথে আপনার কোড চালনা করেন তবে এটি দূরবর্তী মেশিনে অ্যাপ্লিকেশন পুলগুলি পরিচালনা করতে দেয় ।

2

@ জেফের উত্তরের মতো, পাওয়ারশেলের রিমোটিংয়ের সাথে এটি হ'ল:

Enter-PSSession -ComputerName <your server> -Credential <username, or (Get-Credential)>

তারপরে ইন্টারেক্টিভ সেশনে, তারপরে:

appcmd recycle apppool my-app-pool

অ্যাপ পুলটি পুনরায় চালু করতে art


0

পাওয়ারশেলের অ্যাপপুল পুনর্ব্যবহার করুন

এই উদাহরণে: এমএসইএক্সচেঞ্জসিঙ্ক অ্যাপপুল

$appPool = Get-WmiObject -Authentication PacketPrivacy -Impersonation Impersonate -ComputerName (hostname) -namespace "root/MicrosoftIISv2" -class IIsApplicationPool | Where-Object {$_.Name -eq "W3SVC/AppPools/MSExchangeSyncAppPool" }
$appPool.Recycle()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.