Announcement

Collapse
No announcement yet.

SaveAs bei Excel unter Windows Server 2008 nicht möglich

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SaveAs bei Excel unter Windows Server 2008 nicht möglich

    Hallo zusammen,

    ich verwende die COM-Schnittstelle von PHP(5.2.11) um Exceldokumente zu erzeugen. (im Apache 2.2.14 eingebunden)
    Das lief auch alles auf dem Windows Server 2003 und XP soweit halbwegs gut.
    Auf dem Windows Server 2008 bekomme ich allerdings die Fehlermeldung.

    "Die SaveAs-Eigenschaft des Workbook-Objektes kann nicht zugeordnet werden" sobald ich eben die SaveAs-Methode des Workbookobjektes ausführe.

    Da ich stark davon ausgehe, dass es sich hier um ein Rechteproblem oder zumindest um ein COM-Problem handelt habe ich dies hier gepostet. Ich weiß, dass ich hier PHP verwende - dies nutzt allerdings die COM-Schnittstelle.
    Vielleicht ist jemanden der C# oder anderes benutzt schon mal ähnlicher wenn nicht sogar der gleiche Fehler begegnet.

    PHP Code:
    $exapp = new COM("Excel.Application") or Die ("Did not connect");
    $wkb $exapp->Workbooks->Add();
    $exapp->Application->Visible 1;
    $sheet=$wkb->Worksheets(1);
    $sheet->activate;
    $sheet->Name="Control";
    $strPath "C:/xampp/htdocs/Control.xls";
    if (
    file_exists($strPath)) {unlink($strPath);}
    [
    B]$wkb->SaveAs($strPath);[/B]
    $wkb->Close(false);
    unset(
    $sheet); 
    gibt es eine Einstellung in der php.ini die mir da weiter helfen könnte?
    Oder vielleicht noch eine versteckte COM-Einstellung?
    Oder einen Registryeintrag der dafür nötig ist?

    Bei Windows habe ich unter Verwaltung->Komponentendienst->Computer->Arbeitsplatz->DCOM->Microsoft Excel-Anwendung->Eigenschaften folgende Einstellungen:
    Reiter "Allgemein": Authentifizierungsebene Standard (keine ebenfalls ausprobiert)
    Reiter "Ort": Anwendung auf diesem Computer ausführen angewählt
    Reiter "Sicherheit": Jegliche Radiobuttons stehen auf Anpassen und bei allen ist der Benutzer "Jeder" mit allen Rechten zugewiesen
    Reiter "Identität": alle Optionen durchprobiert. Als Benutzer "Administrator" und Benutzer in Gruppe "Administratoren" ausprobiert

    Der Apache-Dienst lief sowohl unter dem Systemkonto wie auch unter dem Administratorkonto.
    Das Verzeichnis in dem die Exceldatei abgelegt werden soll hat ebenfalls für "Jeder" alle Berechtigungen

    Verwendet habe ich Excel XP, 2000, 2007 und sogar die 2010 Beta

    Schon mal Danke für jede Hilfe.

    Falls es noch jemanden weiterhilft ist hier ein Auszug aus dem Win-Sicherheitsprotokoll dazu:

    Protokollname: Security
    Quelle: Microsoft-Windows-Security-Auditing
    Datum: 24.11.2009 16:23:11
    Ereignis-ID: 4672
    Aufgabenkategorie:Spezielle Anmeldung
    Ebene: Informationen
    Schlüsselwörter:Überwachung erfolgreich
    Benutzer: Nicht zutreffend
    Computer: www.xyserver.xy
    Beschreibung:
    Einer neuen Anmeldung wurden besondere Rechte zugewiesen.

    Antragsteller:
    Sicherheits-ID: DOMAINXY\Administrator
    Kontoname: Administrator
    Kontodomäne: DOMAINXY
    Anmelde-ID: 0x58de4f

    Berechtigungen: SeSecurityPrivilege
    SeTakeOwnershipPrivilege
    SeLoadDriverPrivilege
    SeBackupPrivilege
    SeRestorePrivilege
    SeDebugPrivilege
    SeSystemEnvironmentPrivilege
    SeImpersonatePrivilege
    Ereignis-XML:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />
    <EventID>4672</EventID>
    <Version>0</Version>
    <Level>0</Level>
    <Task>12548</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8020000000000000</Keywords>
    <TimeCreated SystemTime="2009-11-24T15:23:11.856Z" />
    <EventRecordID>10784</EventRecordID>
    <Correlation />
    <Execution ProcessID="624" ThreadID="756" />
    <Channel>Security</Channel>
    <Computer>www.xyserver.xy</Computer>
    <Security />
    </System>
    <EventData>
    <Data Name="SubjectUserSid">S-1-5-21-2173923565-2097233172-1319381462-500</Data>
    <Data Name="SubjectUserName">Administrator</Data>
    <Data Name="SubjectDomainName">DOMAINXY</Data>
    <Data Name="SubjectLogonId">0x58de4f</Data>
    <Data Name="PrivilegeList">SeSecurityPrivilege
    SeTakeOwnershipPrivilege
    SeLoadDriverPrivilege
    SeBackupPrivilege
    SeRestorePrivilege
    SeDebugPrivilege
    SeSystemEnvironmentPrivilege
    SeImpersonatePrivilege</Data>
    </EventData>
    </Event>

    Protokollname: Security
    Quelle: Microsoft-Windows-Security-Auditing
    Datum: 24.11.2009 16:23:11
    Ereignis-ID: 4624
    Aufgabenkategorie:Anmelden
    Ebene: Informationen
    Schlüsselwörter:Überwachung erfolgreich
    Benutzer: Nicht zutreffend
    Computer: www.xyserver.xy
    Beschreibung:
    Ein Konto wurde erfolgreich angemeldet.

    Antragsteller:
    Sicherheits-ID: SYSTEM
    Kontoname: DOMAINXY$
    Kontodomäne: WORKGROUP
    Anmelde-ID: 0x3e7

    Anmeldetyp: 4

    Neue Anmeldung:
    Sicherheits-ID: DOMAINXY\Administrator
    Kontoname: Administrator
    Kontodomäne: DOMAINXY
    Anmelde-ID: 0x58de4f
    Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

    Prozessinformationen:
    Prozess-ID: 0x30c
    Prozessname: C:\Windows\System32\svchost.exe

    Netzwerkinformationen:
    Arbeitsstationsname: DOMAINXY
    Quellnetzwerkadresse: -
    Quellport: -

    Detaillierte Authentifizierungsinformationen:
    Anmeldeprozess: Advapi
    Authentifizierungspaket: Negotiate
    Übertragene Dienste: -
    Paketname (nur NTLM): -
    Schlüssellänge: 0

    Dieses Ereignis wird beim Erstellen einer Anmeldesitzung generiert. Es wird auf dem Computer generiert, auf den zugegriffen wurde.

    Die Antragstellerfelder geben das Konto auf dem lokalen System an, von dem die Anmeldung angefordert wurde. Dies ist meistens ein Dienst wie der Serverdienst oder ein lokaler Prozess wie "Winlogon.exe" oder "Services.exe".

    Das Anmeldetypfeld gibt den jeweiligen Anmeldetyp an. Die häufigsten Typen sind 2 (interaktiv) und 3 (Netzwerk).

    Die Felder für die neue Anmeldung geben das Konto an, für das die Anmeldung erstellt wurde, d. h. das angemeldete Konto.

    Die Netzwerkfelder geben die Quelle einer Remoteanmeldeanforderung an. der Arbeitsstationsname ist nicht immer verfügbar und kann in manchen Fällen leer bleiben.

    Die Felder für die Authentifizierungsinformationen enthalten detaillierte Informationen zu dieser speziellen Anmeldeanforderung.
    - Die Anmelde-GUID ist ein eindeutiger Bezeichner, der verwendet werden kann, um dieses Ereignis mit einem KDC-Ereignis zu korrelieren.
    - Die übertragenen Dienste geben an, welche Zwischendienste an der Anmeldeanforderung beteiligt waren.
    - Der Paketname gibt das in den NTLM-Protokollen verwendete Unterprotokoll an.
    - Die Schlüssellänge gibt die Länge des generierten Sitzungsschlüssels an. Wenn kein Sitzungsschlüssel angefordert wurde, ist dieser Wert 0.
    Ereignis-XML:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />
    <EventID>4624</EventID>
    <Version>0</Version>
    ....
    </Event>

    Protokollname: Security
    Quelle: Microsoft-Windows-Security-Auditing
    Datum: 24.11.2009 16:23:11
    Ereignis-ID: 4648
    Aufgabenkategorie:Anmelden
    Ebene: Informationen
    Schlüsselwörter:Überwachung erfolgreich
    Benutzer: Nicht zutreffend
    Computer: www.xyserver.xy
    Beschreibung:
    Anmeldeversuch mit expliziten Anmeldeinformationen.

    Antragsteller:
    Sicherheits-ID: SYSTEM
    Kontoname: DOMAINXY$
    Kontodomäne: WORKGROUP
    Anmelde-ID: 0x3e7
    Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

    Konto, dessen Anmeldeinformationen verwendet wurden:
    Kontoname: Administrator
    Kontodomäne: DOMAINXY
    Anmelde-GUID: {00000000-0000-0000-0000-000000000000}

    Zielserver:
    Zielservername: localhost
    Weitere Informationen: localhost

    Prozessinformationen:
    Prozess-ID: 0x30c
    Prozessname: C:\Windows\System32\svchost.exe

    Netzwerkinformationen:
    Netzwerkadresse: -
    Port: -

    Dieses Ereignis wird bei einem Anmeldeversuch durch einen Prozess generiert, wenn ausdrücklich die Anmeldeinformationen des Kontos angegeben werden. Dies ist normalerweise der Fall in Batch-Konfigurationen, z. B. bei geplanten Aufgaben oder wenn der Befehl "runas" verwendet wird.
    .....
    Protokollname: Security
    Quelle: Microsoft-Windows-Security-Auditing
    Datum: 24.11.2009 16:23:11
    Ereignis-ID: 4634
    Aufgabenkategorie:Abmelden
    Ebene: Informationen
    Schlüsselwörter:Überwachung erfolgreich
    Benutzer: Nicht zutreffend
    Computer: www.xyserver.xy
    Beschreibung:
    Ein Konto wurde abgemeldet.

    Antragsteller:
    Sicherheits-ID: DOMAINXY\Administrator
    Kontoname: Administrator
    Kontodomäne: DOMAINXY
    Anmelde-ID: 0x58de4f

    Anmeldetyp: 4

    ...
Working...
X