В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

После того как сервер под управлением Windows Server 2008, на котором выполняется IIS 7.0 как контроллер домена не удается устранить встроенные учетные записи служб IIS

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:946139
Проблема
Рассмотрим описанную ниже ситуацию.. У вас есть сервер под управлением Windows Server 2008, на котором выполняется службы IIS (IIS) 7.0. Настроить сервер под управлением Windows Server 2008 как контроллер домена в домене под управлением Windows 2000 или доменом Windows Server 2003. В этом случае не может разрешить встроенные учетные записи служб IIS, такие как группы IIS_IUSRS или учетной записи пользователя IUSR гостей. Можно просмотреть только исходный идентификатор безопасности (SID) встроенных учетных записей служб IIS.

Примечание.Эта проблема не возникает, если сервер под управлением Windows Server 2008 как контроллер домена в домене под управлением Windows Server 2008.
Причина
Данная проблема возникает из-за спецификации встроенные учетные записи IIS 7.0 для Windows Server 2008 не существует в более ранние домены, такие как доменов под управлением Windows 2000 и доменов Windows Server 2003. Когда сервер IIS 7.0 настроен как контроллер домена под управлением Windows 2000 или контроллера домена под управлением Windows Server 2003, учетных записей Windows Server 2008 не может быть решена.
Решение
Чтобы устранить эту проблему, используйте следующий пример сценария.

Примечание.После запуска этого сценария необходимо перезагрузить сервер.
/*   SamUpgradeTask.js   (c) 2007, Microsoft Corp.*/ // Check the version of the operating system. Stop the script if the version is earlier than 6.if ( ! CheckOSVersion() ){    WScript.Echo("ERROR: This script will only work on Longhorn Server or above.");    WScript.Quit(1);} // Retrieve the local computer's rootDSE LDAP object.var localRootDse = null; try{    localRootDse = GetObject("LDAP://localhost/rootDSE");}catch(e){    WScript.Echo("There was an error attempting to retrieve the localhost RootDSE object.");    WScript.Echo("Perhaps this machine is not a Domain Controller on the network?");    WScript.Echo("ErrorCode: " + e.number);    WScript.Quit(1);} // Retrieve several rootDSE propertiesvar dnsHostName = localRootDse.Get("dnsHostName");var dsServiceName = localRootDse.Get("dsServiceName");var defaultNamingContext = localRootDse.Get("defaultNamingContext"); // Open the default naming contextvar ncObj = GetObject("LDAP://" + defaultNamingContext); // Get the "FSMO Role Owner"var strfsmoNtdsa = ncObj.FsmoRoleOwner;var fsmoNtdsaObj = GetObject("LDAP://" + strfsmoNtdsa); // Get the parent object of "FSMO Role Owner"var fsmoServerObj = GetObject(fsmoNtdsaObj.Parent); // By using the Server Reference, retrieve the name of the PDC computervar strFsmoComputer = fsmoServerObj.ServerReference;var fsmoComputerObj = GetObject("LDAP://" + strFsmoComputer);var pdcName = fsmoComputerObj.Get("name"); // Get the RootDSE object for the PDCvar pdcRootDse = GetObject("LDAP://" + pdcName + "/rootDSE"); // Check whether the PDC is a legacy domain or not.var domainControllerFunctionality = pdcRootDse.Get("domainControllerFunctionality"); if ( domainControllerFunctionality > 2 ){    WScript.Echo("Domain is already operating in a mode higher than Windows Server 2003 mode. Stopping script execution.");    WScript.Quit(0);} // Get the default naming context for the PDCvar pdcDefaultNamingContext = pdcRootDse.Get("defaultNamingContext"); // Retrieve the well known object from the PDCvar pdcSystem = GetObject("LDAP://" + pdcName + "/<WKGUID=AB1D30F3768811D1ADED00C04FD8D5CD," + pdcDefaultNamingContext + ">"); // Get the distinguished name for the well known objectvar pdcDistinguishedName = pdcSystem.Get("distinguishedName"); // Check whether the task has already been runvar taskMarker = null; try{    taskMarker = GetObject("LDAP://" + pdcName + "/<WKGUID=6ACDD74F3F314ae396F62BBE6B2DB961,CN=Server," + pdcDistinguishedName + ">");}catch(e){    if ( e.number == -2147016656 ) // Check and see if error code is ERROR_DS_NO_SUCH_OBJECT    {        taskMarker = null;    }    else    {        WScript.Echo("Error attempting to retrieve well known object from PDC.");        WScript.Echo("Name: " + e.name + "\nDescription: " + e.description + "\nCode: " + e.number + "\nMessage: " + e.message);        WScript.Quit(1);    }} // If the well known object exists, the SAM upgrade is already running. Therefore, stop the script.if ( taskMarker != null ){    WScript.Echo("SAM upgrade task already being run. No work done.");    WScript.Quit(1);} // Get the Server container with that distinguished namevar serverObj = GetObject("LDAP://" + pdcName + "/CN=Server," + pdcDistinguishedName); // Prepare a safe array (for example, VBArray) with one entryvar jsArray = new Array(1);jsArray[0] = "B:32:6ACDD74F3F314ae396F62BBE6B2DB961:"+ dsServiceName;var vbArray = JS2VBArray(jsArray); try{    // Append an entry to the "Other-Well-Known-Objects" attribute for the     // previous server object.    serverObj.PutEx(3, "otherWellKnownObjects", vbArray);    serverObj.SetInfo();}catch(e){    WScript.Echo("Unexpected error attempting to put the well known GUID.");    WScript.Echo("ErrorCode: " + e.number);} WScript.Echo("Running upgrade task.");// Set the "runSamUpgradeTasks" attribute in the local rootDSElocalRootDse.Put("runSamUpgradeTasks", 1);localRootDse.SetInfo(); // Remote the binary data from the previous well known object entry serverObj.PutEx(4, "otherWellKnownObjects", vbArray);serverObj.SetInfo(); // The upgrade is complete.WScript.Echo("Done!"); function CheckOSVersion(){    var wbemFlagReturnImmediately = 0x10;    var wbemFlagForwardOnly = 0x20;     var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2");    var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL",                                      wbemFlagReturnImmediately | wbemFlagForwardOnly);     var enumItems = new Enumerator(colItems);    for (; !enumItems.atEnd(); enumItems.moveNext()) {        var objItem = enumItems.item();        var fullVersion = objItem.Version;        var indexPoint = fullVersion.indexOf(".");         if ( indexPoint == -1 )        {            return false;        }         var majorVersion = fullVersion.substring(0, indexPoint);         return (majorVersion >= "6");    }     return false;} function JS2VBArray( objJSArray ){    var dictionary = new ActiveXObject( "Scripting.Dictionary" );    for ( var i = 0; i < objJSArray.length; i++ )    {        dictionary.add( i, objJSArray[ i ] );    }     return dictionary.Items();}
Статус
Такое поведение является особенностью данного продукта..

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 946139 — последний просмотр: 11/28/2010 12:54:00 — редакция: 2.0

Microsoft Internet Information Services 7.0

  • kbtshoot kbexpertiseinter kbprb kbmt KB946139 KbMtru
Отзывы и предложения
t.createElement("meta"); m.content = guid; m.name = "ms.dqid"; document.getElementsByTagName("head")[0].appendChild(m);