none
Коммандлеты не работают

    Вопрос

  • Добрый день! имеется Java-приложение из которого вызывается *.exe-файл  и powershell скрипт(скрипт запускает коммандлеты Exchange) . примерное содержание powershell-скрипта:

    Write("Starting work")  //   работает
    try {                        
    (get-process | fl) > $out_dir_path\process.log 2> $out_dir_path\process.err  //падает
    Write ("get process - success! ")
    }
    catch [System.Exception] {
    $errMsg = $error[0].Exception.Message
    Write ("Get Process Exception: " + $errMsg)
    }

    получаю в логе ошибку:

    Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

    at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0)
       at System.Management.Automation.PSScriptCmdlet.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess)
       at System.Management.Automation.CommandProcessorBase.Complete()
       at System.Management.Automation.CommandProcessorBase.DoComplete()
       at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase commandRequestingUpstreamCommandsToStop)
       at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)
       at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext)
       at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame)
       at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0)
       at System.Management.Automation.DlrScriptCommandProcessor.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess)
       at System.Management.Automation.CommandProcessorBase.DoComplete()
       at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase commandRequestingUpstreamCommandsToStop)
       at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)
       at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper()
       at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()
       at System.Management.Automation.Runspaces.PipelineThread.WorkerProc()
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()

    Экзешник не запускается вообще. Доступа к серверу пользователя не имею. Подскажите, пожалуйста, в чем может быть дело?(просила проверить ключи powershell и идет ли запуск под администратором(до этого запускали под System))идеи закончились

    заранее спасибо

    13 марта 2018 г. 7:43

Ответы

Все ответы

  • Добрый день. А что Вы сделать пытаетесь: нет ли в коде действий, связанных с имперсонацией, когда Вы что-то хотите сделать от имени пользователя?
    13 марта 2018 г. 8:55
  • Есть удаленная консоль, на которой админ запускает Java-приложение на сервере пользователя(простенькое приложение, которое собирает инфу о настройках иксчейнджа, действий с имперсонализацией нет), в котором имеется скрипт и экзешник. вот конкретно у этого пользователя на этом сервере такая проблема - что-то криво настроено и криво запускается повершелл-скрипт, а экзешник вообще не запускается, у других везде запускается корректно(при корректных настройках, естесственно).


    13 марта 2018 г. 10:07
  • Сложно сказать, что именно криво настроено, я бы попробовал связаться с администратором и показал бы ему скажем, через Teamviever что на демо стенде код работает а у него на сервере нет, и начал бы разбираться.
    13 марта 2018 г. 17:52