मेरे पास कुछ कार्य हैं जिन्हें मैं डिफ़ॉल्ट रूप से लोड करना चाहूंगा जब मैं एक प्रशासनिक शक्तियां खोलूंगा। क्या कोई ऐसा कहने के बराबर है .bashrc
या .profile
मैं खोल शुरू करते समय स्क्रिप्ट को स्वचालित रूप से आयात करने के लिए उपयोग कर सकता हूं?
मेरे पास कुछ कार्य हैं जिन्हें मैं डिफ़ॉल्ट रूप से लोड करना चाहूंगा जब मैं एक प्रशासनिक शक्तियां खोलूंगा। क्या कोई ऐसा कहने के बराबर है .bashrc
या .profile
मैं खोल शुरू करते समय स्क्रिप्ट को स्वचालित रूप से आयात करने के लिए उपयोग कर सकता हूं?
जवाबों:
जेहाद की टिप्पणी में उल्लिखित लेख बताता है कि ऐसे कई स्थान हैं जहाँ से 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 को बदलने के लिए केवल अपने उपयोगकर्ता खाते को पढ़ने की पहुँच प्रदान करें जबकि अभी भी प्रशासकों को पूर्ण नियंत्रण की अनुमति है। (इनहेरिटेंस को पहले निष्क्रिय करना होगा।) तब आप केवल उन्नत कार्यक्रमों से स्क्रिप्ट को संपादित कर पाएंगे।
Microsoft.PowerShell_profile.ps1
को सिर्फ बदला जा सकता है profile.ps1
? पहले लेख में यह दिखाई देता है$Home\[My ]Documents\WindowsPowerShell\Profile.ps1