Principale utente con più risposte
Windows 2008 R2 impossibile eseguire script o file batch in task scheduler - Risolto

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
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
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 -
-
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 -
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
-
Altre idee?
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 -
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 -
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
-
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 -
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
-
ti spiace aprire un nuovo thread spiegando tutto dall'inizio ?
Edoardo Benussi
Microsoft MVP - Management Infrastructure
edo[at]mvps[dot]org