2009-05-27 18 views
11

क्या पावरहेल स्क्रिप्ट की अनुमतियां बढ़ाना संभव है ताकि व्यवस्थापक विशेषाधिकारों के बिना उपयोगकर्ता स्क्रिप्ट चला सके? हमारे नेटवर्क व्यवस्थापक कुछ कार्यों को पूरा करने के लिए अधिक समय-कुशल तरीकों को खोजने की कोशिश कर रहे हैं, जिन्हें अभी उन्हें दूरस्थ डेस्कटॉप का उपयोग करना है ... उन्हें पीएस स्क्रिप्ट के साथ स्वचालित करने में मदद मिलेगी, लेकिन उपयोगकर्ताओं के पास व्यवस्थापकीय अधिकार नहीं हैं।पावरहेल स्क्रिप्ट को बढ़ाएं

+3

सर्वर दोष पर संबंध रखता है psxc

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser #allows scripts to run from the interwebs, such as pcsx 

सक्षम (यदि आप अपने खोल वातावरण को पुनः आरंभ करना पड़ सकता है)। – Richard

+0

एसएफ @ http://serverfault.com/questions/12985/elevated-powershell-script – Richard

+2

हाँ देखें, यदि आप उस प्रश्न को पोस्ट करने वाले उपयोगकर्ता को देखते हैं ... आप देखेंगे कि यह मैं था। मैंने इसे वहां पोस्ट किया है cuz आप यहां मेरा प्रश्न बूट करने की कोशिश कर रहे थे ... –

उत्तर

8

कार्य से अधिक sudo ... और शुक्र है, setuid संभव है setuid की तरह है: आप बस (एक सेट अनुसूची बिना ) एक निर्धारित कार्य बना सकते हैं, और यह ऊंचा चलाने के लिए निर्धारित किया है। फिर, अपने उपयोगकर्ताओं को उस कार्य को निष्पादित करने का अधिकार दें। मैंने कुछ समय पहले PowerShell स्क्रिप्ट के साथ प्रक्रिया को चलाने के लिए कार्य और शॉर्टकट बनाने में मदद करने के लिए in a blog post प्रक्रिया को रेखांकित किया था।

समस्या (जैसा कि जेरेडपार सुझाव दिया गया है) यह है कि आपको यह सुनिश्चित करना होगा कि आपके द्वारा उठाए गए ऐप्स को "या व्यवस्थापक के रूप में" चलाने के लिए निर्धारित किया गया है, और यह विशेष रूप से सच है यदि आप एक स्क्रिप्ट चलाएंगे। सुनिश्चित करें कि कोई भी व्यक्ति लेकिन उस स्क्रिप्ट को संपादित या प्रतिस्थापित नहीं कर सकता है, या आप राज्य को कहानियों को दे रहे हैं।

+0

ऐसा लगता है कि यह काम कर सकता है, क्या आपको पता है कि यह XP के साथ भी काम करेगा या नहीं? –

+1

मृत लिंक। इंटरनेट आर्काइव * सक्रिय करें! * Https://web.archive.org/web/20110821152558/http://huddledmasses.org/vista-setuid-how-to-elevate-without-prompting/ –

1

ऐसा लगता है कि आप विंडोज़ में sudo समकक्ष की तलाश में हैं। सूडो विंडोज के लिए निहित नहीं है क्योंकि यह अधिकांश यूनिक्स शैली वातावरण के लिए है। लेकिन कई टूल उपलब्ध हैं जो निकट समकक्ष हैं। जब उपकरण के इन प्रकार यद्यपि का उपयोग कर

सावधान रहें। एक अनजान स्क्रिप्ट + सुडो एक सुरक्षा जोखिम है।

6

अगर आप V2 उपयोग कर रहे हैं, तो आप इस व्यवस्थापक के रूप में "रातों-प्रक्रिया" चल पाएंगे जिसके बाद the PowerShell Team Blog

Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "Get-Process"' 

पर निर्भर है उपयोग कर सकते हैं।

यदि आपके पास वी 2 नहीं है, तो आप StartInfo ऑब्जेक्ट बना सकते हैं और वर्ब को इस तरह रनस पर सेट कर सकते हैं।

function Start-Proc { 
    param ([string]$exe = $(Throw "An executable must be specified"),[string]$arguments)  

    # Build Startinfo and set options according to parameters 
    $startinfo = new-object System.Diagnostics.ProcessStartInfo 
    $startinfo.FileName = $exe 
    $startinfo.Arguments = $arguments 
    $startinfo.verb = "RunAs" 
    $process = [System.Diagnostics.Process]::Start($startinfo) 

} 

मैं have a blog post कि एक System.Diagnostics.ProcessStartInfo वस्तु का उपयोग कर के बारे में थोड़ा और अधिक बात करती है।

+1

यह उपयोगकर्ता मदद नहीं करता है अगर उपयोगकर्ता प्रशासक नहीं हैं;) – Jaykul

+0

पर्याप्त मेला। मैंने सवाल पर थोड़ा तेज देखा –

4

पावरहेल समुदाय एक्सटेंशन में इसके लिए एक सेमीडलेट शामिल है, उर्फ ​​'सु'। http://www.codeplex.com/Pscx

+0

बेस्टस्ट येट .... – DeerSpotter

1

पहले के माध्यम से choco install pscxhttp://chocolatey.org/

तो फिर का उपयोग Invoke-Elevated

Invoke-Elevated {Add-PathVariable $args[0] -Target Machine} -ArgumentList $MY_NEW_DIR 
संबंधित मुद्दे