क्या Powershell के पास किसी भी तरह का .bashrc समतुल्य है?


22

मेरे पास कुछ कार्य हैं जिन्हें मैं डिफ़ॉल्ट रूप से लोड करना चाहूंगा जब मैं एक प्रशासनिक शक्तियां खोलूंगा। क्या कोई ऐसा कहने के बराबर है .bashrcया .profileमैं खोल शुरू करते समय स्क्रिप्ट को स्वचालित रूप से आयात करने के लिए उपयोग कर सकता हूं?


हो सकता है कि PowerShell प्रोफ़ाइल ( blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/… )?
जेहाद

हां, पॉवर्सशेल में इसे स्पष्ट रूप से "प्रोफाइल" कहा जाता है।
जड़

जवाबों:


23

जेहाद की टिप्पणी में उल्लिखित लेख बताता है कि ऐसे कई स्थान हैं जहाँ से PowerShell एक प्रोफ़ाइल लोड कर सकता है, जो आप चाहते हैं। आप शायद सामान्य पॉवरशेल कंसोल के लिए प्रति-उपयोगकर्ता एक चाहते हैं। जिस पथ पर PowerShell उस फ़ाइल की जाँच करेगा, वह $profileचर में दिया गया है। आप इस कमांड से उस फाइल और उसकी डायरेक्टरी को बना सकते हैं:

New-Item $profile -Type File -Force

यह Microsoft.PowerShell_profile.ps1एक फ़ोल्डर बनाता है जिसे WindowsPowerShellआपके दस्तावेज़ फ़ोल्डर के तहत नामक एक फ़ोल्डर में बुलाया जाता है । फिर आप इसे टेक्स्ट एडिटर से खोल सकते हैं:

notepad $profile

जब भी आप PowerShell कंसोल लॉन्च करते हैं, तो यह सब कुछ चलाया जाएगा, भले ही आप ऊंचे स्तर पर हों या नहीं। मैंने फ़ंक्शन (जो आप cmdlet के रूप में उपयोग कर सकते हैं) का उत्पादन करने के लिए इस अन्य लेख का उपयोग यह जांचने के लिए किया है कि क्या वर्तमान पॉवरशेल का उदाहरण बढ़ा हुआ है। इसे अपनी नई प्रोफ़ाइल फ़ाइल में रखें:

Function Test-Elevated {
  $wid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
  $prp = New-Object System.Security.Principal.WindowsPrincipal($wid)
  $adm = [System.Security.Principal.WindowsBuiltInRole]::Administrator
  $prp.IsInRole($adm)
}

उस फ़ंक्शन का उपयोग आपके सामान्य PowerShell अनुभव में किया जा सकता है, लेकिन आप इसका उपयोग केवल अपनी प्रोफ़ाइल स्क्रिप्ट में सामान चलाने के लिए भी कर सकते हैं जब आप अत्यधिक ऊंचाई पर होते हैं:

If (Test-Elevated) {
  echo "Be careful!"
} Else {
  echo "Eh, do whatever."
}

चूँकि इस फ़ाइल में एक कोड है जो स्वचालित रूप से एक प्रशासनिक PowerShell उदाहरण के तहत भी चलाया जाएगा, इसलिए आप नहीं चाहते कि असमान रूप से चलने वाले प्रोग्राम इसे लिखने के लिए उपयोग करें। मेरा सुझाव है कि अपने ACL को बदलने के लिए केवल अपने उपयोगकर्ता खाते को पढ़ने की पहुँच प्रदान करें जबकि अभी भी प्रशासकों को पूर्ण नियंत्रण की अनुमति है। (इनहेरिटेंस को पहले निष्क्रिय करना होगा।) तब आप केवल उन्नत कार्यक्रमों से स्क्रिप्ट को संपादित कर पाएंगे।


3
उस लंबे नाम कर सकते हैं Microsoft.PowerShell_profile.ps1 को सिर्फ बदला जा सकता है profile.ps1? पहले लेख में यह दिखाई देता है$Home\[My ]Documents\WindowsPowerShell\Profile.ps1
भतीजे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.