Scripting ¾ð¾î ¹× Visual Basic À» ÀÌ¿ëÇÑ IIS °ü¸® ÀÚµ¿È ±¸Çö 4.-2 PEJLove.IISAdmin ÄÄÆ÷³ÍÆ®ÀÇ »ç¿ë¹ý 1
by SongGun
¾È³çÇϽʱî? ¼Û¿ø¼®ÀÔ´Ï´Ù. À̹ø °Á¿¡¼´Â ½ÇÁ¦·Î PEJLove.IISAdmin ÄÄÆ÷³ÍÆ®ÀÇ »ç¿ë¹ýÀ» ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ±×¸®°í, ±× Àü¿¡ »ç¼ÒÇÑ Á¤Á¤»çÇ×À» ¾Ë·Áµå¸®°Ú½À´Ï´Ù. Áö³ °Á¿¡¼ Á¦°¡ '¿ªÇÒ'À» 'Roll'À̶ó°í Ç¥±âÇߴµ¥, ¾Ë¾Æº¸´Ï 'Role'À̾ú½À´Ï´Ù. ^_^;... Á˼Û... ¢Â PEJLove.IISAdmin ÀÇ Àüü ¸Þ¼ÒµåÀÇ ¸ñ·Ï ¼Ò½º¸¦ º¸½Å ºÐµéÀº ¾Æ½Ã°ÚÁö¸¸, ÀÌ PEJLove.IISAdmin ÄÄÆ÷³ÍÆ®¿¡´Â ¸Þ¼Òµå¸¸ ÀÖ°í ¼Ó¼ºÀº Çϳªµµ ¾ø½À´Ï´Ù. º°´Ù¸¥ ÀÌÀ¯°¡ ÀÖ¾î¼ ±×·± °ÍÀº ¾Æ´Ï°í, ±×Àú ¸¸µé´Ùº¸´Ï ¾î¼´Ù... ^_^;... »ç½Ç, PEJLove.IISAdmin ÄÄÆ÷³ÍÆ®¿¡´Â ±×¾ß¸»·Î ±âº»ÀûÀÎ ¼öÁØÀÇ ¸Þ¼Òµåµé¸¸ ÀÖ½À´Ï´Ù. ¸ðµÎ 9 °³ÀÇ ¸Þ¼Òµåµé·Î ±× ¸ñ·ÏÀº ´ÙÀ½°ú °°½À´Ï´Ù.
º¸½Ã´Ù½ÃÇÇ ±×´ÙÁö ¾î·Á¿î ³»¿ëÀÇ ¸Þ¼ÒµåµéÀº ¾ø½À´Ï´Ù. À̹ø °Á¿¡¼´Â ¸ÕÀú À§ÀÇ ¸®½ºÆ® Áß GetServerState() ¸Þ¼Òµå¿Í SetServerState() ¸Þ¼Òµå¿¡ °üÇØ¼ ¼³¸íÀ» µå¸®µµ·Ï ÇϰڽÀ´Ï´Ù. ¢Â GetServerState() ¸Þ¼Òµå¿Í SetServerState() ¸Þ¼Òµå À̸§¿¡¼µµ ¹Ù·Î ¾Æ½Ç¼ö ÀÖµíÀÌ, ÀÌ ¸Þ¼ÒµåµéÀº ±â´É»ó ÇѽÖÀ» ÀÌ·ç´Â ¸Þ¼Òµåµé·Î °¢°¢ ÁöÁ¤ÇÑ °¡»ó À¥¼¹öÀÇ ÇöÀç »óŸ¦ ¾ò°Å³ª ¼³Á¤ÇÏ´Â ¸Þ¼ÒµåµéÀÔ´Ï´Ù. - Àüü ÄÚµå´Â ÀÚ·á½Ç¿¡ ÀÖ´Â ÄÄÆ÷³ÍÆ®ÀÇ ¼Ò½º¸¦ ´Ù¿î·Îµå ¹ÞÀ¸¼Å¼ »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. °Á¿¡¼´Â Áö¸é ±æÀÌ»ó Çٽɺκи¸À» ¼³¸íµå¸± °ÍÀÔ´Ï´Ù. GetServerState() ¸Þ¼ÒµåÀÇ °æ¿ì ½ÇÁ¦ ¸Þ¼Òµå ¼±¾ðºÎ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
º¸½Ã´Ù½ÃÇÇ, µÎ °³ÀÇ Variant º¯¼ö¸¦ ÀÎÀÚ·Î ¹Þ°í Variant ÇüÀ¸·Î ¸®ÅÏÀ» Çϴµ¥, ÀÌ ¸Þ¼Òµå¿¡ ³Ñ°ÜÁÖ´Â ÀÎÀÚ¸¦ String À̳ª Integer ·Î ÁöÁ¤ÇÏÁö ¾Ê°í Variant ·Î ÁöÁ¤ÇÑ °ÍÀº Á¦ ³ª¸§´ë·ÎÀÇ ÀÌÀ¯°¡ ÀÖ½À´Ï´Ù. GetServerState() ¸Þ¼Òµå¸¦ À§¿¡¼Ã³·³ ÀÛ¼ºÇÏÁö ¾Ê°í ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÏ¿´´Ù°í °¡Á¤ÇϰڽÀ´Ï´Ù.
À졧 º¸±â¿¡´Â óÀ½ÀÇ Äڵ庸´Ù ±×·²µíÇØ º¸ÀÔ´Ï´Ù. »ç½Ç ÀÌ·± ÇüÅÂÀÇ ÄÚµå ÀÛ¼º¹ýÀÌ ¿Ã¹Ù¸¥ ¹æ¹ýÀÏ °ÍÀÔ´Ï´Ù. ±×·¯³ª, ÀÌ·¸°Ô ÀÛ¼ºÇÑ ÄÄÆ÷³ÍÆ®¸¦ ASP ¿¡¼ ´ÙÀ½°ú °°ÀÌ È£ÃâÇÏ¸é ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
±× ÀÌÀ¯´Â GetServerState() ¸Þ¼ÒµåÀÇ µÎ ÀÎÀÚ´Â °¢°¢ Integer ¿Í String À¸·Î ¼±¾ðµÇ¾úÁö¸¸, ASP ÀÇ ¸ðµç º¯¼ö´Â Variant ÇüÀ̹ǷΠº¯¼öÇüÀÌ Æ²¸®´Ù´Â ¿¡·¯¸¦ ³»°í Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê´Â °ÍÀÔ´Ï´Ù. À§ÀÇ ASP Äڵ带 Á¤»óÀûÀ¸·Î ÀÛµ¿½Ã۱â À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØÁÖ¼Å¾ß ÇÕ´Ï´Ù.
±×·¡¼, CInt(), CStr() °°Àº º¯È¯ ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê°í, óÀ½ÀÇ ASP ÄÚµåó·³ ÀÚ¿¬½º·´°Ô ÄÚµùÀ» Çϱâ À§Çؼ ¸ðµç ÀÎÀÚ¸¦ Variant ·Î ¼±¾ðÇÑ °ÍÀÔ´Ï´Ù. (°á±¹Àº Á¦ °ÔÀ¸¸§ ¶§¹®À̶ó´Â °á·ÐÀÌ... -_-;...) GetServerState() ¸Þ¼Òµå¿¡¼ IPAddress ÀÎÀÚ¿¡´Â IIS °¡ ¼³Ä¡µÈ ¸Ó½ÅÀÇ IP ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù. ¸¸¾à »ý·«ÇϽøé ÇöÀç ·ÎÄà ¸Ó½ÅÀ» IIS °¡ ¼³Ä¡µÈ ÄÄÇ»ÅͶó°í °¡Á¤ÇÕ´Ï´Ù. ServerIndex ÀÎÀÚ´Â IIS ¿¡ ¼³Ä¡µÈ ¿©·¯°³ÀÇ °¡»ó À¥¼¹ö Áß ¾î¶² ¼¹ö¸¦ ´ë»óÀ¸·Î ÀÛ¾÷ÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î 1 ºÎÅÍ ½ÃÀÛÇÏ´Â Á¤¼ö°ªÀÌ µé¾î°©´Ï´Ù. Àß ÀÌÇØ°¡ °¡Áö ¾ÊÀ¸½Ã´Â ºÐµéÀ» À§Çؼ ´Ù½Ã ¼³¸íµå¸®¸é, ¿¹Àü¿¡ ¼³¸íµå¸° °Í(¿©±â¸¦ Click!)ó·³ IIS ´Â »ç¶÷µéó·³ '±âº» À¥ »çÀÌÆ®', '¼Û±ºÀÇ ½É½ÉÇ®ÀÌ À¥ ¼¹ö' µîµîÀÇ ÀϹÝÀûÀ¸·Î »ç¶÷µéÀÌ ÀÌÇØÇÏ´Â ¹æ¹ýÀ¸·Î´Â °¢°¢ÀÇ °¡»ó À¥ ¼¹ö¸¦ ±¸ºÐÇÒ ¼ö ¾øÀ¸¹Ç·Î °¡»ó À¥¼¹ö¸¦ »ý¼ºÇÒ ¶§ °íÀ¯ÇÑ Index ¸¦ ÁöÁ¤Çؼ ±× Index ¸¦ ÀÌ¿ëÇØ¼ °¡»ó À¥ ¼¹ö¸¦ ±¸ºÐÇÕ´Ï´Ù. µû¶ó¼, IIS ¸¦ óÀ½ ¼³Ä¡ÇÏ°í ³ª¸é ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾îÀÖ´Â °¡»ó À¥ ¼¹öÀÎ '±âº» À¥ »çÀÌÆ®'¿Í '°ü¸® À¥ »çÀÌÆ®'ÀÇ Index ´Â °¢°¢ 1 °ú 2 ÀÌ µÇ°í ±× ´ÙÀ½¿¡ ¸¸µé¾îÁö´Â °¡»ó À¥ ¼¹ö´Â 3, 4 .... Çϰí Index °¡ ÁöÁ¤µË´Ï´Ù. ´ÙÀ½ÀÇ ±×¸²À» º¸½Ã±â ¹Ù¶ø´Ï´Ù. À§ÀÇ ±×¸²Àº Á¦ ·ÎÄà ÄÄÇ»ÅÍÀÇ IIS ¸¦ Active Directory Browser ·Î »ìÆìº» °ÍÀÔ´Ï´Ù. À¥ ¼ºñ½º¸¦ ÀǹÌÇÏ´Â WSSong2/W3SVC ³ëµå¸¦ º¸½Ã¸é ±× ÇÏÀ§ ³ëµå¿¡ 1, 2, 3, Filters, Info ÇÏ´Â ³ëµåµéÀÌ ÀÖ´Â °ÍÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. (Á¶±Ý È¥µ¿ÀÌ µÇ½Ç¼öµµ Àִµ¥, 1), 2), 3)... Àº ´Ü¼øÈ÷ Active Directory Browser ¿¡¼ ºÙÀÎ ¼¼ö·Î Á¦°¡ ¸»ÇϰíÀÚ ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù.) ÀÌ °æ¿ì, ¿ª½Ã 1 °ú 2 ´Â °¢°¢ '±âº» À¥ »çÀÌÆ®'¿Í '°ü¸® À¥ »çÀÌÆ®'¸¦ ³ªÅ¸³»´Â °ÍÀ̰í, 3 Àº Á¦°¡ ÀÛ¾÷ÇÏ´Â Á¦°¡ Á÷Á¢ Ãß°¡ÇÑ °¡»ó À¥ ¼¹ö¸¦ ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù. ServerIndex °¡ Áß¿äÇÑ ÀÌÀ¯´Â ÀÛ¾÷ÇÒ ¼¹öÀÇ °´Ã¼¸¦ ¾ò¾î³»±â À§ÇÑ ADsPath ¸¦ ÀÛ¼ºÇÒ ¶§ ÇʼöÀûÀÎ ¿ä¼ÒÀ̱⠶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, IP ÁÖ¼Ò°¡ 123.123.123.123 ÀÎ ¼¹öÀÇ IIS ÀÇ '±âº» À¥ »çÀÌÆ®'ÀÇ ADSI °´Ã¼¸¦ ¾ò±â À§ÇÑ ADsPath ´Â IIS://123.123.123.123/W3SVC/1 ÀÌ µË´Ï´Ù. ¶Ç´Â, ÇöÀç ·ÎÄà ¸Ó½ÅÀÇ IIS ÀÇ 15 ¹øÂ°·Î ¸¸µé¾îÁø ÀÓÀÇÀÇ À¥ ¼¹öÀÇ ADSI °´Ã¼¸¦ ¾ò±â À§ÇÑ ADsPath ´Â IIS://LocalHost/W3SVC/15 °¡ µË´Ï´Ù. ÀÌ·±½ÄÀ¸·Î, ¾Æ·¡ÀÇ GetServerState() ¸Þ¼Òµå»óÀÇ ÄÚµå´Â ÁÖ¾îÁø µÎ °³ÀÇ ÀÎÀÚ¸¦ »ç¿ëÇØ¼ ÇØ´ç À¥ ¼¹öÀÇ °´Ã¼¸¦ ¾ò¾î³¾¼ö ÀÖ´Â ADsPath ¸¦ ¸¸µé¾î ³À´Ï´Ù.
´«Ä¡°¡ ¹Ù¸£½Å ºÐµé²²¼´Â ÀÌ¹Ì °ÆÁ¤ÇÏ°í °è½Ã°ÚÁö¸¸, ÀÌ·± ÀÌÀ¯·Î IIS »ó¿¡¼ 'Ä£¼÷ÇÑ À̸§'('±âº» À¥ »çÀÌÆ®'¿Í °°Àº...)Áß¿¡ XXX ¶ó´Â ¹®ÀÚ¿ÀÌ Æ÷ÇÔµÈ °¡»ó À¥ ¼¹ö¸¦ °Ë»öÇÑ´ÙµçÁö ÇÏ´Â °Ë»ö¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº, °Ë»öÇϰíÀÚ ÇÏ´Â IIS ¿¡ Á¸ÀçÇÏ´Â ¸ðµç °¡»ó À¥ ¼¹ö¸¦ ÇϳªÇϳª µÚÁö¸é¼ ã¾Æº¸´Â ¼ö¹Û¿¡´Â ¾ø½À´Ï´Ù. ±×·¡¼, Àú°°Àº °æ¿ì¿¡´Â °¡»ó À¥ ¼¹öµéÀÇ ±âº» Á¤º¸¸¦ °¡Áö°í ÀÖ´Â Table À» SQL 7.0 »ó¿¡ Çϳª ¸¸µé¾î ³õ°í ȸ¿ø Á¤º¸¿Í ¸ÅνÃŰ´Â ¹æ¹ýÀ» »ç¿ëÇß½À´Ï´Ù. Âü°íÇϽñ⠹ٶø´Ï´Ù. ADsPath ¸¦ ±¸ÇÑµÚ ¾Æ·¡ÀÇ ÄÚµåó·³ GetObject() ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ¿øÇÏ´Â °¡»ó À¥ ¼¹öÀÇ ADSI °´Ã¼¸¦ ¾ò½À´Ï´Ù. ¸¸¾à ¿¡·¯°¡ ¹ß»ýÇÏ¸é ¸ðµç °ÍÀ» ÃʱâÈ ½ÃŲÈÄ -1 À» ¸®ÅÏÇϰí ÇÔ¼ö¸¦ Á¾·áÇϰí, Á¤»óÀûÀ¸·Î °´Ã¼°¡ ¾ò¾îÁö¸é ServerState ¼Ó¼ºÀ» ÀÌ¿ëÇØ¼ ÇØ´ç ¼¹öÀÇ ÇöÀç »óŸ¦ ³ªÅ¸³»´Â Á¤¼ö°ªÀ» ¾ò¾î¼ ¸®ÅÏÇÕ´Ï´Ù. °¢°¢ÀÇ Á¤¼ö°ªÀÇ Àǹ̴ 1 : '½ÃÀÛÇÏ´Â Áß', 2 : '½ÃÀ۵ǾúÀ½', 3 : 'Á¤ÁöÇÏ´Â Áß', 4 : 'Á¤ÁöµÇ¾úÀ½', 5 : 'ÀϽà Á¤Áö Áß', 6 : 'ÀϽà Á¤Áö µÇ¾úÀ½', 7 : '´Ù½Ã ½ÃÀÛÇÏ´Â Áß' ÀÔ´Ï´Ù.
¡Ø IIsWebServer ÀÇ ¼Ó¼ºÀÎ ServerState ¼Ó¼º¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ Àüü ¼Ó¼º ¹× ¸Þ¼Òµå¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! À̹ø¿£ SetServerState() ¸Þ¼ÒµåÀÇ Äڵ带 »ìÆìº¸°Ú½À´Ï´Ù. ¸Þ¼ÒµåÀÇ À̸§À» º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸ ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤ÇÑ °¡»ó À¥ ¼¹ö¸¦ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ª¿¡ µû¶ó Á¤Áö½ÃŰ°Å³ª, ½ÃÀÛ½ÃŰ´Â µîÀÇ ÀÛ¾÷À» ÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù. ½ÇÁ¦ ¸Þ¼Òµå ¼±¾ðºÎ´Â ´ÙÀ½°ú °°½À´Ï´Ù.
GetServerState() ¸Þ¼Òµå¿Í ºñ±³Çؼ StateNum À̶ó´Â ÀÎÀÚ°¡ Çϳª ´õ Ãß°¡ µÇ¾ú´Âµ¥, ÀÌ ÀÎÀÚ´Â °¡»ó À¥ ¼¹ö¸¦ ½ÃÀÛ½Ãų °ÍÀÎÁö Á¤Áö½Ãų °ÍÀÎÁö¸¦ ÁöÁ¤ÇÏ´Â Á¦°¡ Á¤ÇÑ ÀÓÀÇÀÇ ¼ýÀÚ°ªÀÔ´Ï´Ù. ±¸Ã¼ÀûÀÎ °ª°ú Àǹ̴ 1 : '½ÃÀÛ', 2 : 'Á¤Áö', 3 : 'ÀϽà Á¤Áö' ÀÔ´Ï´Ù. ±× ÀÌ¿ÜÀÇ °ªÀº ¹«Á¶°Ç '½ÃÀÛ'À» ÀǹÌÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. SetServerState() ¸Þ¼Òµå ¿ª½Ã GetServerState() ¸Þ¼Òµå¿Í ¸¶Âú°¡Áö·Î ¹Þ¾ÆµéÀÎ ÀÎÀÚ°ªµéÀ» »ç¿ëÇØ¼ ¿øÇÏ´Â ¼¹öÀÇ °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. ±×¸®°í, ¿¡·¯°¡ ¹ß»ýÇÏ¸é ¿ª½Ã -1 À» ¸®ÅÏÇϰí Á¾·áÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é ½ÇÁ¦·Î °¡»ó À¥ ¼¹öÀÇ »óŸ¦ ¼³Á¤ÇÏ´Â ¸Þ¼Òµå¸¦ È£ÃâÇÏ°Ô µÇ´Âµ¥, ´ÙÀ½ÀÇ ÄÚµå´Â ¹Ù·Î ±× ºÎºÐÀÔ´Ï´Ù.
¡Ø IIsWebServer ÀÇ ¸Þ¼ÒµåÀÎ Continue ¸Þ¼Òµå¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ ¸Þ¼ÒµåÀÎ Pause ¸Þ¼Òµå¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ ¸Þ¼ÒµåÀÎ Start ¸Þ¼Òµå¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ ¸Þ¼ÒµåÀÎ Status ¸Þ¼Òµå¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ ¸Þ¼ÒµåÀÎ Stop ¸Þ¼Òµå¿¡ °üÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¡Ø IIsWebServer ÀÇ Àüü ¼Ó¼º ¹× ¸Þ¼Òµå¸¦ º¸½Ã·Á¸é ¿©±â¸¦ Ŭ¸¯! ¸ÕÀú ÁöÁ¤µÈ °¡»ó À¥ ¼¹öÀÇ ÇöÀç »óŸ¦ ÆÄ¾ÇÇÑ ÈÄ Àû´çÇÑ ¸Þ¼Òµå¸¦ È£ÃâÇØÁÝ´Ï´Ù. À§ÀÇ Äڵ忡¼ »ç¿ëµÈ WebServer.Start, WebServer.Stop, WebServer.Continue, WebServer.Pause (±×¸®°í, ¿©±â¿¡¼´Â »ç¿ëµÇÁö ¾ÊÀº Status ¸Þ¼Òµå±îÁö...)¸Þ¼ÒµåµéÀº IIsWebServer °´Ã¼¿¡¼ Á¦°øÇÏ´Â ¸Þ¼Òµåµé·Î¼ ÁöÁ¤µÈ ÀÓÀÇÀÇ °¡»ó À¥ ¼¹ö(ÀÌ °æ¿ì¿¡´Â WebServer °´Ã¼)ÀÇ »óŸ¦ Á¶Á¤ÇÏ´Â ¸Þ¼ÒµåµéÀÔ´Ï´Ù. ¿©±â±îÁö ÁøÇàÇÑ ÈÄ ¿¡·¯ °Ë»ç¸¦ Çϰí, ±× ´ÙÀ½¿¡ º¸±â¿¡´Â º°°Í ¾Æ´ÏÁö¸¸ ÀÌ·ÐÀûÀ¸·Î´Â ±²ÀåÈ÷ Èï¹Ì·Î¿î ÄÚµå ºÎºÐÀÌ ³ª¿É´Ï´Ù. ´ÙÀ½ÀÇ SetServerState() ¸Þ¼ÒµåÀÇ ÄÚµå Áß °¡Àå ¸¶Áö¸· ºÎºÐÀ» º¸½Ã±â ¹Ù¶ø´Ï´Ù.
SetServerState() ¸Þ¼Òµå´Â ÀÌ¹Ì ¸»¾¸µå·ÈµíÀÌ ÁöÁ¤ÇÑ °¡»ó À¥ ¼¹öÀÇ »óŸ¦ Á¶Á¤ÇÏ°í ±× Á¶Á¤µÈ °á°ú¸¦ ¸®ÅÏÇØÁÝ´Ï´Ù. ±×·±µ¥, À§ÀÇ Äڵ带 º¸¸é ADSI ¸Þ¼ÒµåÀÎ GetInfo ¸Þ¼Òµå¸¦ ´Ù½Ã ÇÑ ¹ø È£ÃâÇØ¼ ´Ù½Ã °¡»ó À¥ ¼¹öÀÇ »óŸ¦ °¡Á®¿Í¼ ±× °ªÀ» ¸®ÅÏÇØÁÝ´Ï´Ù. ¿Ö ¶Ç´Ù½Ã GetInfo ¸Þ¼Òµå¸¦ È£ÃâÇØ¼ ADSI °´Ã¼(ÀÌ °æ¿ì´Â IIsWebServer °´Ã¼ÀÎ WebServer)ÀÇ »óÅ Á¤º¸¸¦ °»½ÅÇØ¾ß ÇÒ±î¿ä? ¾Æ¸¶ óÀ½ IIS °ü¸® ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â ºÐµéÀº GetInfo ¸Þ¼Òµå¸¦ »©¸Ô°í ÄÚµùÇÏ½Ç È®·üÀÌ ³ôÀ» °ÍÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â ADSI ÆÄÆ®¿¡¼ ¼³¸íµå¸° °Íó·³ ÇöÀç PEJLov.IISAdmin ÄÄÆ÷³ÍÆ®°¡ °¡Áö°í ÀÖ´Â IIS Á¤º¸´Â ½ÇÁ¦ IIS Á¤º¸°¡ ¾Æ´Ï¶ó ADSI »óÀÇ ¼Ó¼º ij½¬»óÀÇ Á¤º¸, Áï ½ÇÁ¦ Á¤º¸ÀÇ º¹»çº»À̱⠶§¹®ÀÔ´Ï´Ù. SetServerState() ¸Þ¼ÒµåÀÇ ÄÚµå ù ºÎºÐ¿¡¼ .ServerState ¸Þ¼Òµå°¡ »ç¿ëµÇ¸é¼ ³»ºÎÀûÀ¸·Î È£ÃâµÈ GetInfo ¸Þ¼Òµå°¡ ¼Ó¼º ij½¬¿¡ ·ÎµåÇÑ °¡»ó À¥ ¼¹öÀÇ »óÅ Á¤º¸¿¡´Â ´ç¿¬È÷µµ º¯°æµÇ±â ÀüÀÇ »óÅ Á¤º¸°¡ µé¾îÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í, ÀÌ ¼Ó¼º ij½¬ÀÇ Á¤º¸´Â WebServer.Start, WebServer.Stop µîÀÇ Á¦¾î ¸Þ¼Òµå·Î ½ÇÁ¦ IIS »óÀÇ °¡»ó À¥ ¼¹öÀÇ »óŰ¡ º¯°æµÈ ÈÄ¿¡µµ GetInfo ¸Þ¼Òµå¸¦ È£ÃâÇØÁÖÁö ¾ÊÀ¸¸é °»½ÅµÇÁö°¡ ¾Ê½À´Ï´Ù. °á±¹, À§¿¡ Á¦½ÃµÈ Äڵ忡¼ WebServer.GetInfo ¶óÀÎÀ» »ý·«ÇÑ´Ù¸é, ¸®ÅϵǴ °¡»ó À¥ ¼¹öÀÇ »óÅ´ ½ÇÁ¦ »óÅÂ(º¯°æµÈ »óÅÂ)°¡ ¾Æ´Ï¶ó, º¯°æµÇ±â ÀÌÀü¿¡ ÀÌ¹Ì ·ÎµåµÇ¾ú´ø ¿¹Á¤ »óÅ Á¤º¸°¡ ¸®ÅÏµÇ°í ±»ÀÌ µûÁöÀÚ¸é ³í¸® ¿¡·¯·Î ºÐ·ùÇÒ¼ö ÀÖ´Â »óŰ¡ µÇ´Â ¼ÀÀÔ´Ï´Ù. ¢Â ASP ¿¡¼´Â... ÀÌ µÎ°³ÀÇ ¸Þ¼Òµå¸¦ ASP ÇüÅ·Π¹Ù²Ù¸é ´ÙÀ½°ú °°½À´Ï´Ù. ´Ù¸¸, ¿©±â¿¡¼ ¿¡·¯Ã³¸® ºÎºÐÀº »ý·«Çϵµ·Ï ÇϰڽÀ´Ï´Ù. ASP ·Î¸¸ ÄÚµùÇÏ½Ç ºÐµé²²¼´Â ´ÙÀ½ÀÇ Äڵ带 include ½ÃÄѼ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù. ±×¸®°í, ¹°·Ð ±×·± °æ¿ì¿¡´Â ÀÎÀÚ¸¦ »ý·«ÇÏ½Ç ¼öµµ ¾ø°í, '±¸¼º ¿ä¼Ò ¼ºñ½º'ÀÇ ÇýÅÃÀ» ¹ÞÀ¸½Ç ¼öµµ ¾øÀ¸¹Ç·Î '¿ªÇÒ' ±â¹ÝÀÇ COM+ º¸¾È ±â´ÉÀ» »ç¿ëÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.
ÀÌ °æ¿ì ASP ¿¡¼ ¸Þ¼Òµå¸¦ È£ÃâÇÏ·Á¸é ´ÙÀ½ÀÇ ÄÚµå¿Í °°ÀÌ ÄÚµùÇϼžßÇÕ´Ï´Ù. VBScript ¿¡¼´Â ÇöÀç±îÁö ¹öÀüÀ» ¸··ÐÇϰí Optional Ű¿öµå°¡ Áö¿øµÇÁö ¾Ê±â ¶§¹®¿¡ ÀÎÀÚ¸¦ »ý·«ÇÒ ¼ö°¡ ¾øÀ¸¹Ç·Î º¸½Ã´Â °Íó·³ ºó °ª("")ÀÌ¶óµµ ÀÔ·ÂÇØÁÖ¼Å¾ß ÇÕ´Ï´Ù. ¸¸¾à ºó °ª("")À» »ý·«ÇÏ½Ã¸é ±¸¹® ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù.
¢Â ¸¶Ä¡¸ç... À̹ø °Á¿¡¼´Â ´Ü¼øÈ÷ µÎ °³ÀÇ ¸Þ¼ÒµåÀÇ Äڵ带 ¼³¸íÇØµå·È½À´Ï´Ù. ¾Æ¸¶ ¾ÕÀ¸·Î ³²Àº ¾ó¸¶µÇÁö ¾Ê´Â ³ª¸ÓÁö °Áµµ °ÅÀÇ ÀÌ·±½ÄÀÏ °Í °°½À´Ï´Ù. °Ìµµ ¾øÀÌ ½ÃÀÛÇÑ °Á°¡ °ÅÀÇ ³¡À» ÇâÇØ Ä¡´Ý°í ÀÖ´Â°É »ý°¢Çغ¸¸é Á¶±ÝÀº µÎ·Æ±âµµ ÇÕ´Ï´Ù. ^_^;... °¨»çÇÕ´Ï´Ù. |