Powershell.exe के लिए पथ (v 2.0)


114

पॉवरशेल (संस्करण 2.0) कहाँ स्थित है? Powershell.exe का मार्ग क्या है? मेरे पास Windows Server 2008 और Powershell स्थापित है। जब मैं इस फ़ोल्डर को देखता हूं:

PS C:\Windows\System32\WindowsPowerShell> dir


    Directory: C:\Windows\System32\WindowsPowerShell


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         20.4.2010     17:09            v1.0

मेरे पास केवल Powershell v1.0 है। लेकिन जब मैं टाइप करता हूं

PS C:\> $Host.version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1


PS C:\>

यह दिखाता है कि मेरे पास v2.0 स्थापित है।


8
ऊपर जो "v1.0" आप देख रहे हैं वह केवल एक निर्देशिका नाम है, वास्तविक संस्करण संख्या नहीं।
15

बस PowerShell लिंक के लक्ष्य स्थान पर देखें
ऑक्सफेन

जवाबों:


171

मेरा मानना ​​है कि यह अंदर है C:\Windows\System32\WindowsPowershell\v1.0\। निर्दोष को भ्रमित करने के लिए, एमएस ने इसे "v1.0" लेबल वाली निर्देशिका में रखा। यह विंडोज 7 पर चल रहा है और संस्करण संख्या की जांच कर रहा है $Host.Version( निर्धारित PowerShell संस्करण स्थापित करें ) यह 2.0 दिखाता है।

एक अन्य विकल्प $PSVersionTableकमांड प्रॉम्प्ट पर टाइप है । यदि आप v2.0 चला रहे हैं, तो आउटपुट होगा:

Name                           Value
----                           -----
CLRVersion                     2.0.50727.4927
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

यदि आप संस्करण 1.0 चला रहे हैं, तो चर मौजूद नहीं है और कोई आउटपुट नहीं होगा।

स्थानीयकरण PowerShell संस्करण 1.0, 2.0, 3.0, 4.0:

  • 64 बिट संस्करण: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \
  • 32 बिट संस्करण: C: \ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \

1
शायद यह कठिन-कोडित रास्तों का मामला था जिसके साथ वे संगतता बनाए रखना चाहते थे? Microsoft जा रहा है Microsoft
Tiago Leite

6
"निर्दोष को भ्रमित करने के लिए" मेरे पसंदीदा उद्धरणों में से एक है।
1919

48

मुझे लगता है कि $ PsHome की जानकारी आपके पास है?

PS।> $ PsHome
C: \ Windows \ System32 \ WindowsPowerShell \ v1.0

PS।> Get-help about_automatic_variables

विषय
    about_Automatic_Variables ...


29

यहाँ एक तरीका है ...

(Get-Process powershell | select -First 1).Path

यहाँ संभवतः एक बेहतर तरीका है, क्योंकि यह पथ पर पहली हिट देता है, जैसे कि यदि आपने एक कमांड प्रॉम्प्ट से पॉवर्सशेल को चलाया था ...

(Get-Command powershell.exe).Definition

3
जहाँ तक मेरा सवाल है, यह वर्तमान में 35 तक वोट देने वाले की तुलना में बेहतर उत्तर है। मूल प्रश्न निष्पादन योग्य के लिए मार्ग के बारे में लग रहा था, जिसमें संस्करण की जानकारी प्रश्न के लिए आकस्मिक है। यह उत्तर सीधे उस प्रश्न को संबोधित करता है, यहां तक ​​कि "माना जाने वाला" उत्तर को भी दरकिनार कर देता है और किसी व्यक्ति को यह पता लगाने देता है कि यह एक्सई अपने सिस्टम पर कहां है, भले ही वह सिस्टम डिफ़ॉल्ट रूप से भिन्न हो। (यह वही है जिसकी मैं तलाश में यहाँ आया था, इसलिए मैं इसकी सराहना करता हूँ।)
टॉड वाल्टन

निष्पादन योग्य होने के आधार पर खोज powershell.exeकरना थोड़ा बहुत आराम है, क्योंकि आप आसानी से किसी अन्य निष्पादन योग्य का नाम बदल सकते हैं powershell.exe, और इसके बजाय इस प्रक्रिया को उठा सकते हैं। Get-Process -Id $PIDकाम करेंगे, हालांकि मुझे यकीन नहीं है कि किस संस्करण $PIDमें पेश किया गया था।
चार्ल्स ग्रुनवल्ड

मैं आपके "बहुत आराम" बिंदु को देखता हूं, हालांकि, $ पीआईडी ​​का उपयोग करके वर्तमान मेजबान वापस आ जाएगा, जो कि पॉवर्सशेल दुभाषिया नहीं हो सकता है। उदाहरण के लिए Powershell_ise.exe की तरह।
नाथन हार्टले

शायद नवंबर 2011 के बाद से संपत्ति बदल गई है। मेरे लिए (जुलाई 2016 में, विंडोज सर्वर 2012 का उपयोग करते हुए) संपत्ति। स्रोत मौजूद नहीं है, इसके बजाय, मैं संपत्ति का उपयोग कर सकता हूं। परिभाषा। जो रिटर्न देता है: "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe।" । मेरे $ PSHome वैरिएबल में शामिल हैं: "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0" इसके अलावा, यदि आप गेट-प्रोसेस का उपयोग करते हैं, तो केवल पावरशेल के बजाय 'पावरशेल *' का उपयोग करने पर विचार करें, यदि आप पावरशेल_इसे का उपयोग कर रहे हैं। HTH
मार्सेलो फिंकी

उपयोग करने से बदला हुआ उत्तर। स्रोत से .Definition
नाथन हार्टले

12

यह हमेशा C: \ Windows \ System32 \ WindowsPowershell \ v1.0 है। यह इस तरह से छोड़ दिया गया था कि पिछड़ेपन के लिए जो मैंने कहीं सुना या पढ़ा है।


2
% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell.exe। अगर SystemRoot "C: \ Windows" नहीं है
मैथ्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.