Welcome to MSDN Blogs Sign in | Join | Help

problem:

tried to install qdig photo gallery on my IIS box - however it returned an error like:

...

PHP Notice: Undefined variable: HTTP_GET_VARS in C:\inetpub\qdig3\index.php on line 578 PHP Notice: Undefined variable: HTTP_POST_VARS in C:\inetpub\qdig3\index.php on line 579 PHP Notice: Undefined variable: HTTP_COOKIE_VARS in C:\inetpub\qdig3\index.php on line 580 PHP Warning: array_merge() [function.array-merge]:

...

 

solution:

in your php.ini:

register_long_arrays = On

 and restart iis from the cmd line with iisreset

 

 annotation:

testscript.php: 

<?php

echo($HTTP_GET_VARS);

?>

must execute with no errors.

 

note:

this might have a performance overhead as php.ini says: "... If you're not using them, it's recommended to turn them off, ...for performance reasons."

1) You got to remove the VIEW ANY DATABASE permission for the public group.

(T-SQL)

USE master
Deny VIEW ANY DATABASE to public

2) to let the user see his database you must make this user the owner of the db when you create the database:

screenshot


see here for more details.

icacls C:\inetpub\wwwroot\mysite\ /grant:r "IIS APPPOOL\mywebsitepool":(OI)(CI)(RX)

guarantees that new files & directories put into this folder inherit the permissions that were set for the parent folder.

 More details on IIS7 Application pool isolation can be found here:

 

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("SRV2003")
For Each strComputer In arrComputers
   WScript.Echo
   WScript.Echo "=========================================="
   WScript.Echo "Computer: " & strComputer
   WScript.Echo "=========================================="

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftIISv2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM IIsWebVirtualDirSetting", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
 objItem.UNCPassword = "password"
 objItem.UNCUserName = "uncuser"
 objItem.Path ="\\srv2003\websites\testsite"
 objItem.Put_
 
      WScript.Echo "UNCPassword: " & objItem.UNCPassword
      WScript.Echo "UNCUserName: " & objItem.UNCUserName
      WScript.Echo "path: " & objItem.Path

      WScript.Echo
   Next
Next


 

Ich wollte heute mein keyboard auf deutsch setzen auf meiner Windows Server 2008 core installation (ich hatte EN).
tja aber wie machen über die command line?

einfach

control intl.cpl

auf der cmd line aufrufen und los gehts. 

taken from:

http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2007/08/13/changing-server-core-s-look-and-feel-part-1.aspx

 

Microsoft ruft Entwickler auf, im Rahmen der Einführung von Windows Live neue und außergewöhnliche Gadgets für Live.com zu entwickeln. Gesucht wird das beste deutschsprachige Gadget, mit einer nützlichen, kreativen oder ausgefallenen Idee. Der Wettbewerb startet am 17. Juli und läuft drei Monate. Bis Mitte Oktober haben die Teilnehmer Zeit, ihre Entwicklungen unter MicrosoftGadgets.de anzumelden und einzureichen. Es winken attraktive Preise im Wert von mehreren tausend Euro, darunter ein High-end LCD-Fernseher.
Link: http://go.microsoft.com/?linkid=5165543

SQL Server Management Studio Express = Gratis Clientanwendung zur Administration der einer SQL 2005 Datenbank

hier zum Download

Vielleicht kennen Sie das:

Sie entwickeln gelassen zuhause mit Visual Studio 2005 Ihre ASP.net Webapplikation inklusive Datenbank und anschliessend wollen Sie das ganze dann bei Ihrem Provider zum Laufen bringen.

Das Problem:

Wie kriegen Sie nun die DB nun in die Datenbank in die Ihres Providers. Anrufen, email oder selbst versuchen die Datenbank zu importieren und wie stellt Ihnen der Provider den Datenbank-Zugang überhaupt zur Verfügung (ist 1433 nach aussen hin offen?)

Wie machen Sie es denn?:

Sie könnten wenn Sie online sind während der Entwicklung die connection strings in Ihrem Project so abändern, dass sofort die Provider DB verwendet wird - ist das für Sie praktikabel?

Gibts umsonst von Microsoft zum Download unter:

http://www.microsoft.com/downloads/details.aspx?familyid=C039A798-C57A-419E-ACBC-2A332CB7F959&displaylang=en

Dann einfach schnell unter:

http://msdn.microsoft.com/vstudio/learning/elearning_promo/

(ein Online Kurs ist kostenlos)

informieren und anmelden.

Viel Spass.

 http://www.devradio.com/

Seines Zeichens "The Developer's Podcast Channel" einfach mal vorbeischauen Z.B. für das IE 7 Security Podcast.

Sie sind Administrator oder Entwickler und haben einen IIS der ab und an hängt, crashed oder leaked?

Das Problem tritt nicht in der Test- / Entwicklersystem auf sondern nur "Live"? Sie wissen nicht welche Komponente die Probleme verursacht.
Sie haben schon (fast) alles probriert und Sie suchen was mit dem Sie ganz tief "reinschauen" können?

Dann ist DebugDiag möglicherweise das richtige für Sie. Diese Tool ist gegenwärtig in Beta und soll Hilfe zur Selbsthhilfe geben (bevor Sie den MS Support als letzte Instanz bemühen müssen). Das Tool erzeugt Ihnen Memory Dump(s) des IIS (aber auch x-beliebige andere "fehlerhafte" Prozesse) zu einen definierten Zeitpunkt. Durch eine eingebaute Logik werden die Memory Dumps für Sie analysiert (nur IIS), hierzu verbindet sich das Tool zu einem im Internet stehenden Symbol Server um die Sprungadressen der in Funktionsnamen aufzulösen.

Das Tool liegt zum Download (Sie benötigen lediglich einen Passport Account)
unter
http://beta.microsoft.com (Guest ID: DebugDiag)

Warnung: Trivial ist anders - handelt es sich hierbei um (IMHO) "unterstütztes post mortem Debugging" - dennoch hat es für den Kunden noch nie ein so tiefgreifendes IIS-Analysetool gegeben. Cool und daher T E S T E N!

Hier die Konfig steps für ein Crash Szenario mit dem IIS 6
- Am besten geben Sie Ihrer "bösen" Webapplication einen eigenen Application pool
- Danach schalten Sie die Health Monitoring Features für diesen Pool ab:
   - IIS - MMC -> Application Pools ->Right-click auf den "bösen" Application Pool ->click Properties
   - Recycling tab: deaktivieren des "Recycle worker process"
   - Performance tab: deaktivieren von "Shutdown worker processes after being idle for"
   - Health tab: deaktivieren von "Enable rapid-fail protection" und “Enable pinging”
   - Click OK - restarten des IIS
- DebugDiag settings:
   -  Start -> Programs -> IIS Diagnostics ->"Crash" auwählen und "Next"-
   - Zielprozess auswählen z.B. "All IIS related processes"
   - Click Next bei “Advanced Configuration”
   - Click Next for "Rule Name".
   - Option "Activate the rule now" auswählen und Finish
-------
->Sobald die Webapplication crashed wird ein Dumpfile geschrieben und kann dann über die "Advanced Analysis"
analysiert werden

(webcasts zum Thema IIS debugging / ansonsten siehe auch http://blogs.msdn.com/powerdebug/)

 

Eigentlich hätte ich es schon längst erwähnen sollen. Nun ja die Zeit vergeht und ich bin ein bischen blog-faul. Gelobe mich aber zu bessern.

Mit dem SP1 für Windows Server 2003 hat sich auch im Bereich IIS logging etwas geändert. Neben einem zentralen Binary Log file für den ganzen Webserver gibt es nun die Möglichkeit die Webzugriffe in ein zentrales Text basiertes Logfile schreiben zu lassen (Centralized W3C Logging).

Vorteile:

  • das Referer Feld (und noch einige andere Einträge) kann jetzt geloggt werden.
  • lesbar - und muss nicht erst mit z.B. logparser behandelt werden 

Gesetzt im IIS wird die Sache mit ...

adsutil.vbs SET W3SVC/CentralW3CLoggingEnabled true

Tipps:

  • Was geloggt wird kann man über die IIS MMC unter -> re. Mausklick auf "Web Sites"->Properties->"Web Site"->Active Log format "W3C Extended Log File Format" ->Properties->Advanced     einstellen.
  • Um die Einträge auseinanderzuhalten (grad wenn mal mehr websites auf der Maschine hat) ist es sinnvoll das Feld "Host (cs-host)" noch mitzuloggen.
  • Anschliessend kann man mit Logparser das ganze Log wieder aufteilen um zum Beispiel die Requests für jede Site zu bekommen.LogParser.exe “SELECT * INTO c:\newuserlogfile.log FROM c:\windows\system32\logfiles\w3svc\exXXXXX.log WHERE cs-host=’www.website1.de’” –q:ON –o:W3C

 


Server Performance Advisor V1.0 (Performance diagnostic tool for Windows Server 2003):

http://www.microsoft.com/downloads/details.aspx?FamilyID=61a41d78-e4aa-47b9-901b-cf85da075a73&displaylang=en

Wozu?
Für alle interessant die wissen wollen wie es um Ihre IIS performance mit ihrer webapplikation bestellt ist. Es ist z.B. möglich dieses Tool zu verwenden um herauszufinden welche URLs wärend des Überwachungszeitraums:
- am längsten brauchten
- am meisten CPU benötigten
- am häufigsten requested wurden
- gecached wurden
...


Wie?
Der Server Performance Advisor setzt auf den Event tracing Mechanismus des OS auf (
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/event_tracing.asp) hiermit ist es möglich Kernel und User mode komponenten zu tracen.
Der SPA beinhaltet eine Trace Konfiguration speziell für den IIS. Man startet das Tracing mit den IIS Countern im Live oder Testbetrieb (z.B. mit stress test tools) und erhält nach dem stoppen die Auswertung lesbar als Report dargestellt.
Zusätzlich bekommt man auch noch Tuning Hinweise.

Meiner Meinung nach seit langem "das geilste seit geschnitten Brot" für IIS.

Was?
Neues Log file format beim IIS 6.
Ist diese Methode aktiviert dann wird für alle websites auf der Maschine insgesamt nur ein einziges Log File geschrieben.

Warum?
Wenn man unbedingt logging haben will (denn das kostet immer performance), dann macht das bei x-tausend IIS Websites mal schnell x-tausend file handles die man sich sparen kann.
Centralized binary logging soll helfen sich wertvolles RAM (nur einen log file (mit insg. 64K) buffer und nicht x-tausend mal 64k) zu sparen, File I/O auf ein notwendiges Minimum zu reduzieren, CPU usage gering zu halten, ... kurz die IIS Performance zu erhöhen

Wie?
CBL wird nicht über die UI gesetzt sondern per tool von der command line:
"cscript.exe adsutil.vbs SET W3SVC/CentralBinaryLoggingEnabled true"

Was ist anders?
- Ein log file anstatt ein log file/website.
- Nur ein log Verzeichnis (w3svc) mit einer Log Datei *.ibl
- Alle Requests für alle Websites werden in eine Datei geschrieben.
- Auswertung und Aufsplittung auf Requests für eine bestimmte website erfolgt per Tool "logparser"
   ->Logparser2.2 gibts hier:
http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
   ->mit folgenden Befehl kann man aus einem binary log file ein log file pro website erstellen lassen "LogParser -c -i:BIN -o:W3C raw1.ibl C:\NewLogs\W3SVC*\extend1.log -multiSite:ON"
      ->dies muss aber nicht auf dem IIS selbst durchgeführt werden (saves CPU and diskspace)
   ->will man noch herausfinden welche Website-ID zu welcher Website gehört dann kann man sich mit folgenden tool auf dem IIS ausgeführt eine Liste ausgeben lassen ("iisweb.vbs /query"):

C:\>iisweb.vbs /query
Connecting to server ...Done.
Site Name (Metabase Path)                     Status  IP              Port  Host

==============================================================================
Default Web Site (W3SVC/1)                    STARTED ALL             80    N/A
mysite1.com (W3SVC/751304962)                 STARTED ALL             80   
www.mysite1.com

More Posts Next page »
 
Page view tracker