मैं '' नेटवर्क सेवा '' कैसे चला सकता हूँ?


83

मैं एक अन्य खाते के रूप में एक प्रक्रिया चलाने की कोशिश कर रहा हूं। मेरे पास कमांड है:

runas "/user:WIN-CLR8YU96CL5\network service" "abwsx1.exe"

लेकिन फिर यह पासवर्ड के लिए पूछता है। हालाँकि नेटवर्क सेवा के लिए कोई पासवर्ड सेट नहीं है।

क्या मैं संभव करने की कोशिश कर रहा हूं?

जवाबों:


124

SysInternals से PsExec.exe का उपयोग करें , एक उन्नत कमांड प्रॉम्प्ट से चल रहा है।

उदाहरण के लिए, यह एक नया कमांड प्रॉम्प्ट नेटवर्क्स सेवा के रूप में चलेगा:

psexec -i -u "nt authority\network service" cmd.exe 

यह इसे LOCAL प्रणाली के रूप में चलाएगा:

psexec -i -s cmd.exe 

आप इन्हें whoamicmd प्रॉम्प्ट से चलाकर सत्यापित कर सकते हैं ।

यह सभी देखें:


@stej - मेरे लिए नहीं। इसे एक उन्नत कमांड प्रॉम्प्ट से चलाने का प्रयास करें, अर्थात प्रशासक के रूप में अपना कमांड प्रॉम्प्ट चलाएं।
रोरी

कोई विचार नहीं, psexec संस्करण 2.11 है। मैंने इसे एलेवेटर 2012 में एज़ुर क्लाउड सर्विस के रूप में एलिवेटेड कंसोल से चलाने की कोशिश की, लेकिन यह अभी भी पासवर्ड मांगता है।
स्टेज

मेरे लिए भी पासवर्ड मांगता है।
एंडरसन फोर्टालेजा

1
यह 64-बिट मशीनों पर काम नहीं करता प्रतीत होता है। इसके बजाय devxexec का उपयोग करने के लिए एक समाधान है , जो काम करता है।
मेलमोकब

3
@ रोरी: मुझे लगता है कि मुझे यह समझ में आया। नेटवर्क सेवा के लिए (कम से कम एज़्योर रोल में), ऐसा प्रतीत होता है कि आपको cmd.exe के लिए पूर्ण सटीक पथ निर्दिष्ट करना होगा। किसी कारण के लिए यह एक डिफ़ॉल्ट पथ चर या कुछ और नहीं है ...
mellamokb

15

टास्क शेड्यूलर में, नेटवर्क्स सर्विस यूजर के तहत एप्लिकेशन को चलाने के लिए एक कार्य बनाएं। तब आप कमांड लाइन का उपयोग करके कार्य चला सकते हैं

schtasks / run / TN "taskname"

जहाँ taskname आपके टास्क का नाम है।


nt Authority \ localservice का उपयोग करके इस कार्य को कैसे बनाएँ?
कोबिया

क्या mmc.exe को लोकल सेवा के रूप में चलाना संभव है?
कोबिया

6

आप आमतौर पर Windows सेवा से सेवा खाते के रूप में प्रतिरूपण कर सकते हैं, जैसे इस पोस्ट में उल्लेख है:

ट्रिक आपके कोड को लोकल सिस्टम के रूप में चलाने के लिए है और वहाँ से आप बिना पासवर्ड के उपयुक्त उपयोगकर्ता नाम का उपयोग करके सेवा खातों को लागू कर सकते हैं। स्थानीय सिस्टम खाते के रूप में अपने कोड को चलाने का एक तरीका नीचे दी गई तकनीक (इस मूल पद से लिया गया) का उपयोग करके कमांड लाइन शेल बनाना है , और वहां से अपनी विधानसभा को निष्पादित करना है। System.Diagnostics.Debugger.Break()आपके कोड में कॉल करने से आप डीबग कर सकते हैं।

स्थानीय सिस्टम खाते के अंतर्गत चलने वाली कमांड-लाइन शेल बनाने के लिए, एक नई कमांड लाइन विंडो खोलें और दर्ज करें:

c:\sc create testsvc binpath= "cmd /K start" type= own type= interact

के बाद:

c:\sc start testsvc

एक नई कमांड विंडो खुलनी चाहिए थी। उस विंडो में अपना ऐप्लिकेशन.exe चलाएं - आप देखेंगे कि अब आप बिल्ट-इन सिस्टम उपयोगकर्ता खाते के रूप में चल रहे हैं। परीक्षण समाप्त करने के बाद, आप दर्ज करके बनाई गई परीक्षण सेवा को हटा सकते हैं:

c:\sc delete testsvc

यदि आप अपने स्वयं के उपयोगकर्ता संदर्भ में ऐसा करने का प्रयास करते हैं, तो ऐसे प्रयास विफल होने चाहिए।


3

मैंने परीक्षण किया है

PsExec -i -s cmd.exe

तथा

PsExec -i -u "nt authority\network service" cmd.exe

PsExec64-v2.2 पर, win10-home-x64-10.0.14393 और win10-pro-x64-10.0.15063 के लिए यह सामान्य कंसोल का उपयोग करने में विफल रहा है, एलिवेटेड कंसोल का उपयोग करें यह ठीक काम करता है


यह "whoami" कमांड का उपयोग करके पुष्टि की जा सकती है, जो cmd.exe और Powershell.exe दोनों में काम करती है।
टॉरस्टैड

1

मुझे पता है कि यह एक पुराना धागा है, लेकिन यह इस समस्या का शीर्ष परिणाम है और मैं हमारे विंडोज सर्वर पर कोई अतिरिक्त उपकरण स्थापित किए बिना पावरशेल का उपयोग करके एक कमांड चलाने में सक्षम होना चाहता था। मैं निम्नलिखित PowerShell स्क्रिप्ट के साथ आया था जो एक निर्धारित कार्य बनाता है, इसे चलाता है, और फिर इसे हटा देता है। यह आपको विभिन्न उपयोगकर्ता खातों के तहत कमांड चलाने की अनुमति देने के लिए भी लिखा गया है।

function InstallDotNetCoreGlobalTool($PackageId, $Action = "install", $User = "NT AUTHORITY\NETWORK SERVICE", $Password = "")
{
    $TaskName = "AzureDotNetCoreGlobalToolConfiguration"
    $Command = "dotnet.exe"
    $Arguments = "tool $Action -g " + $PackageId
    $TaskAction = New-ScheduledTaskAction -Execute $Command -Argument $Arguments

    Write-Host "Setting up scheduled task to run" $Command $Arguments

    Register-ScheduledTask -TaskName $TaskName -User $User -Action $TaskAction
    Start-ScheduledTask -TaskName $TaskName

    Write-Host ""
    Write-Host "Waiting on scheduled task to complete."

    while ((Get-ScheduledTask -TaskName $TaskName).State  -ne 'Ready') 
    {
      # keep waiting
    }

    Write-Host ""

    If((Get-ScheduledTask $TaskName | Get-ScheduledTaskInfo).LastTaskResult -eq 0)
    {
        Write-Host $PackageId $Action "completed successfully"
    }
    else
    {
        If ($Action -eq "install")
        {
            Write-Host $PackageId "failed to $Action. Ensure the proper dependencies have been installed or that it isn't already installed."
        }
        Else {
            Write-Host $PackageId "failed to $Action. It may not currently be installed."
        }        
    }

    Unregister-ScheduledTask -TaskName $TaskName -Confirm:$false
}

InstallDotNetCoreGlobalTool "Amazon.Lambda.Tools" "uninstall"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.