none
Windows 2008 R2 impossibile eseguire script o file batch in task scheduler - Risolto RRS feed

  • Domanda

  • Salve a tutti,

    Il sistema è il seguente: server HP Proliant ML350 G6; Windows 2008 R2 aggiornato alle ultime patch; Terminal Server; Office 2003.

    Ho creato un file exe in Visual Basic che mi genera un file in excel con la scritta "test" nella cartella c:\temp. Questo è il sorgente:

     

    -----------------------------------------------------

    Option Explicit

    Dim objExcel As Object     ' Excel application

    Dim objBook As Object      ' Excel workbook

    Dim objSheet As Object     ' Excel Worksheet

     

     

    Private Sub Main()

        Dim filename As String

     

        Set objExcel = CreateObject("excel.application") 'starts the Excel Session

        Set objBook = objExcel.Workbooks.Add             'Add a Workbook

        Set objSheet = objBook.Worksheets.Item(1)        'Select a Sheet

        objSheet.Select

        'objExcel.Sheets("sheet1").Select

        objExcel.Application.cells(1, 1) = "test"

       

    '    objExcel.Application.Visible = True

        DoEvents

        filename = "c:\temp\test.xls"

       

        objBook.SaveAs filename

        objBook.Close

        objExcel.Quit

       

        Set objSheet = Nothing

        Set objBook = Nothing

        Set objExcel = Nothing

     

    End Sub

    -------------------------------------------------

    Il problema è il seguente: se eseguo il file manualmente da consolle lo script mi crea il file test.xls in c:\temp, mentre se lo eseguo dalle operazioni pianificate (anche manualmente), sembre fare qualcosa, ma non succede nulla: il file non viene generato e il processo di excel rimane attivo.

    Lo script viene eseguito come utente administrator della macchina, ho provato ad impostare i permessi sui componenti DCOM sia come default che aggiungendo l'account Network Services ma non funziona.

    Qualche idea o consiglio?

    Grazie

    Giovanni

     

    • Modificato infoce venerdì 22 ottobre 2010 15:56
    giovedì 21 ottobre 2010 15:10

Risposte

  • Risolto...... Ho trovato due soluzioni ricavate con un taglia e incolla di vari post su vari forum e mi piacerebbe sapere perchè così funzionano...... comunque:

    1) Modificare i permessi del DCOM associato, solo che essendo un programma a 32bit, lo dovevo cercare nella MMC -32 snap-in Component Services, mentre io provavo la normale MMC....... comunque MMC -32 --> Component Services Snap-in --> Computer --> My Computer --> DCOM Config --> Applicazione Microsoft Excel e nel tab Identity selezionare "The Launching user" o "This user" (impostando in questo caso un utente con permessi amministrativi), mentre di default il sistema ha "The interactive user".

    2) Soluzione tratta da http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service

    dove dice di creare una cartella Desktop in C:\Windows\SysWOW64\config\systemprofile\Desktop perchè "A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel."

    Ho provato entrambe le soluzioni e funzionano. Sarebbe da capire perchè non c'è la cartella Desktop. E' anche vero che Microsoft scoraggia lo sviluppo di applicazioni basate su office lato server....... http://support.microsoft.com/kb/257757/en-us (anche se il documento è un po' vecchiotto).

    Per ora grazie a tutti, fa sempre piacere sapere, quando è buio, che c'è qualcuno che ti aiuta accendendo una torcia :-)

    Giovanni

    • Contrassegnato come risposta Fabrizio Volpe venerdì 22 ottobre 2010 15:59
    venerdì 22 ottobre 2010 15:55

Tutte le risposte

  • hai provato a schedulare lo script ed eseguirlo con l'utente administrator loggato oppure quando hai fatto la prova l'utente loggato era uno diverso da administrator ?
    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    giovedì 21 ottobre 2010 15:31
    Moderatore
  • Scusa se non ho risposto subito..... comunque sono loggato come administrator.

    giovedì 21 ottobre 2010 16:07
  • l'administrator ha il diritto di "logon as a batch job" ?

    quali sono i permessi ntfs sulla cartella temp ?


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    giovedì 21 ottobre 2010 17:18
    Moderatore
  • allora, nella cartella c:\Temp il gruppo user, System e, logicamente l'Administrator, hanno il controllo completo (l'avevo svincolata dalle impostazioni ereditate da C). Nella policy "logon as batch job" ho l'Administrator, Backup Operators e Performance Log Users.

    Ho fatto le prove su altri due server Windows 2008 R2 (uno a Dominio e l'altro in Workgroup) ma in entrambi non va...........

    Ho anche provato ad impostare i permessi sugli oggetti DCOM ma non è cambiato nulla.

    Altre idee?

    Grazie

    venerdì 22 ottobre 2010 07:21
  • Altre idee?

    puoi confermarmi che le operazioni pianificate funzionano ad esempio avviando banalmente calc.exe ?
    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    venerdì 22 ottobre 2010 14:47
    Moderatore
  • Si potrebbe anche provare una schedulazione con AT e inserire lo switch "interactive"

    at \\computername time /interactive | /every:date,... /next:date,... command

    http://support.microsoft.com/kb/313565/en-us


    Fabrizio Volpe
    MCSE (NT4)(2000)(2003) - MCSA (2003)
    MCTS (SQL 2005)(Exchange 2007)(Windows 2008)
    Fortinet Certified Network Security Professional (FCNSP)
    Fabrizio[_dot_]Volpe[_at_]GMX[_dot_]com
    venerdì 22 ottobre 2010 14:54
  • Risolto...... Ho trovato due soluzioni ricavate con un taglia e incolla di vari post su vari forum e mi piacerebbe sapere perchè così funzionano...... comunque:

    1) Modificare i permessi del DCOM associato, solo che essendo un programma a 32bit, lo dovevo cercare nella MMC -32 snap-in Component Services, mentre io provavo la normale MMC....... comunque MMC -32 --> Component Services Snap-in --> Computer --> My Computer --> DCOM Config --> Applicazione Microsoft Excel e nel tab Identity selezionare "The Launching user" o "This user" (impostando in questo caso un utente con permessi amministrativi), mentre di default il sistema ha "The interactive user".

    2) Soluzione tratta da http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service

    dove dice di creare una cartella Desktop in C:\Windows\SysWOW64\config\systemprofile\Desktop perchè "A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel."

    Ho provato entrambe le soluzioni e funzionano. Sarebbe da capire perchè non c'è la cartella Desktop. E' anche vero che Microsoft scoraggia lo sviluppo di applicazioni basate su office lato server....... http://support.microsoft.com/kb/257757/en-us (anche se il documento è un po' vecchiotto).

    Per ora grazie a tutti, fa sempre piacere sapere, quando è buio, che c'è qualcuno che ti aiuta accendendo una torcia :-)

    Giovanni

    • Contrassegnato come risposta Fabrizio Volpe venerdì 22 ottobre 2010 15:59
    venerdì 22 ottobre 2010 15:55
  • grazie a te per aver condiviso la soluzione con la community.

    ciao.


    Edoardo Benussi - Microsoft® MVP
    Management Infrastructure - Systems Administration
    https://mvp.support.microsoft.com/Profile/Benussi
    Windows Server Italian Forum Moderator
    edo[at]mvps[dot]org
    sabato 23 ottobre 2010 08:56
    Moderatore
  • Io Ho un simile problema ho un exe creato in delphi XE che mi crea un file txt e un file xml se lo eseguo manualmente funziona tutto regolarmente ma se invece lo schedulo lo esegue poi rimane in esecuzione finchè non lo blocco e non elabora nulla. Inoltre non segnala nessun errore da potere cercare su google.

    Ho provato le vostre soluzioni ma non ho risolto nulla, aiutatemi non so più dove sbattere la testa.

    Grazie mille

    Marco

    martedì 5 luglio 2011 15:00
  • ti spiace aprire un nuovo thread spiegando tutto dall'inizio ?
    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org
    martedì 5 luglio 2011 15:45
    Moderatore