पावरशेल Microsoft द्वारा बनाया गया एक सबसे शक्तिशाली स्क्रिप्टिंग टूल है। इस पोस्ट में, हम साझा करेंगे कि PWSH.exe . क्या है? , और महत्वपूर्ण PWSH सिंटैक्स . की सूची . मुझे यकीन है कि कई उपयोगों ने विंडोज पावरशेल का उपयोग किया है, लेकिन पीडब्लूएसएच अब एक क्रॉस-प्लेटफॉर्म स्क्रिप्टिंग टूल है जो विंडोज, मैकओएस और लिनक्स पर काम करता है। हालांकि, यह WSL यानी लिनक्स पर विंडोज सबसिस्टम पर समर्थित नहीं है, और PWSH को लॉगिन शेल के रूप में सेट करने का प्रयास अस्थिर WSL की ओर ले जाएगा।
PWSH.EXE क्या है?
शुरू करने से पहले, आइए एक विवरण को स्पष्ट करें। PWSH.EXE पावरशेल का नया नाम है। संस्करण 6 के बाद से इसे पावरशेल कोर कहा जाता है। इसे पहले powershell.exe . नाम दिया गया था जिसे आपने विंडोज़ (संस्करण 5.1) में स्थापित देखा होगा। कोई आश्चर्य नहीं कि हर बार जब आप Windows में PowerShell लॉन्च करते हैं, तो आपको एक संदेश मिलता है:
<ब्लॉककोट>"नया क्रॉस-प्लेटफ़ॉर्म पावरशेल https://aka.ms/pscore6 आज़माएं।"
आप पावरशेल और पावरशेल कोर के बीच अंतर के बारे में पढ़ सकते हैं।
आज फास्ट फॉरवर्ड, पावरशेल संस्करण 7 पर पहुंच गया है जो संस्करण 6 की तुलना में एक बड़ा बदलाव है और नेट फ्रेमवर्क के बजाय .NET कोर 3 का उपयोग करता है। यदि आप इसे आज़माना चाहते हैं, तो Windows 10 पर PowerShell 7.0 स्थापित करना सीखें।
महत्वपूर्ण PWSH सिंटैक्स
-फाइल | -एफ: यदि आपके पास स्क्रिप्ट फ़ाइल में कमांड हैं, तो आप इसे इनपुट के रूप में उपयोग कर सकते हैं। लागू होने पर आप फाइलों के लिए तर्क भी दे सकते हैं।
pwsh -File .\test.ps1 -TestParam $env:windir
-कमांड | -सी :कमांड या स्क्रिप्टब्लॉक को निष्पादित करने के लिए इसका इस्तेमाल करें। ScriptBlock {}
. के साथ संलग्न कार्यों का समूह हैpwsh -Command {Get-WinEvent -LogName security}
या
@' "in" "hi" | % { "$_ there" } "out" '@ | powershell -NoProfile -Command -
-EncodedCommand | -ई | -ईसी :इसका उपयोग तब करें जब जटिल उद्धरण चिह्नों या घुंघराले ब्रेसिज़ का उपयोग करने की आवश्यकता हो।
$command = 'dir "c:\program files" ' $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) pwsh -encodedcommand $encodedCommand
-लॉगिन | -एल: Linux और macOS पर, /bin/sh का उपयोग करके /etc/profile और ~/.profile जैसे लॉगिन प्रोफाइल को निष्पादित करने के लिए, PowerShell को एक लॉगिन शेल के रूप में प्रारंभ करता है। यह विंडोज़ पर लागू नहीं है।
आपको /etc/shells के तहत सूचीबद्ध पूर्ण पथ को सत्यापित करना होगा। आप chsh . का उपयोग कर सकते हैं आपके वर्तमान उपयोगकर्ता के शेल को pwsh पर सेट करने के लिए उपयोगिता।
chsh -s /usr/bin/pwsh
-SettingsFile | -सेटिंग
यदि आप स्थानीय प्रोजेक्ट सेटिंग्स के साथ वैश्विक सेटिंग्स को अधिलेखित करना चाहते हैं, तो आप इस विकल्प का उपयोग करके सेटिंग्स फ़ाइल निर्दिष्ट कर सकते हैं। सिस्टम-व्यापी सेटिंग्स powershell.config.json में उपलब्ध हैं।
pwsh -SettingsFile c:\myproject\powershell.config.json
पीडब्लूएसएच सिंटैक्स की पूरी सूची
pwsh[.exe] [[-File] <filePath> [args]] [-Command { - | <script-block> [-args <arg-array>] | <string> [<CommandParameters>] } ] [-ConfigurationName <string>] [-CustomPipeName <string>] [-EncodedCommand <Base64EncodedCommand>] [-ExecutionPolicy <ExecutionPolicy>] [-InputFormat {Text | XML}] [-Interactive] [-Login] [-MTA] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile] [-OutputFormat {Text | XML}] [-SettingsFile <SettingsFilePath>] [-STA] [-Version] [-WindowStyle <style>] [-WorkingDirectory <directoryPath>] pwsh[.exe] -h | -Help | -? | /?
यदि आपको अधिक विवरण की आवश्यकता है, तो आप docs.microsoft.com पर जा सकते हैं।