Windows 2003 Миграция FTP-сервера IIS w/Учетные записи пользователей

Я просто ответил на Ваш другой вопрос.
Универсальный обход каталога от точки выше долей был бы,

find . -type d -exec ls -ld {} \; 

Это перечислит все каталоги в соответствии с Вашим базовым каталогом.

Вы могли однако, выполнять это индивидуально по списку общих каталогов для разделения результатов.

0
задан 8 April 2010 в 14:20
3 ответа

Нет никакого "легкого" решения этой проблемы - ACLs для локальных учетных записей потеряны при перемещении в новый сервер, потому что SID, связанный с тем пользователем, не отображается на учетную запись действительного пользователя больше.

Существует способ сделать это хотя, не имея необходимость вытирать Вашу систему. Я собираюсь идти, через какой я думаю, самый легкий путь, с помощью Powershell (с WMI), icacls и некоторое редактирование текста.

  1. Создайте всех новых пользователей на новом сервере
  2. И на старом сервере и на новом сервере, получите список всего имени пользователя к отображениям SID. Чтобы сделать это, откройте Powershell и выполните команду (на каждом сервере):

    получите-wmiobject win32_useraccount |, куда {$ _ .localaccount} | экспортируют-csv serverusers.csv

  3. У Вас есть некоторый физический труд, чтобы сделать теперь - необходимо взять обе из электронных таблиц и отобразить SIDS от старых пользователей сервера к новым. Создайте это в новом CSV (c:\sids.csv) с форматом это - что-то как: oldusername,newusername,oldsid,newsid

  4. На старом сервере сохраните ACLs для файлов, о которых Вы заботитесь об использовании icacls. Например, если Ваши файлы находятся в названной папке c:\ftproot\ Вы вошли бы в ту папку и сделали бы:

    icacls * / сохраняют c:\acls.bak/T

  5. Теперь необходимо сделать поиск и замену на acls.bak файле - для каждой строки в CSV, найти все экземпляры oldsid и заменить его newsid. Вот powershell сценарий, чтобы сделать это:

    $file = получать-содержание C:\acls.bak - кодирующий unicode
    $csv = импортируют-csv c:\sids.csv
    foreach ($row в $csv) {
    $file = $file - заменяют $row.oldsid, $row.newsid
    }
    содержание набора c:\acls2.bak $file - кодирующий unicode

  6. Скопируйте все файлы к новому серверу

  7. Восстановите ACLs на файлах в новом сервере (снова, предполагая, что это находится под c:\ftproot):

    icacls. / восстанавливают c:\acls2.bak/T

И это должно сделать это - файлы должны теперь иметь набор полномочий с помощью новых учетных записей локального пользователя.

1
ответ дан 4 December 2019 в 13:09
  • 1
    Ничего себе... хорошо. Я уже переместил всех пользователей/группы в новый сервер с помощью AddUsers.exe. Я нашел это, которое может помочь мне отобразить SIDs от учетных записей пользователей... support.microsoft.com/kb/250267 спасибо за всю Вашу справку. –  Brad 8 April 2010 в 20:03
  • 2
    Еще один вопрос, тот файл CSV, это может просто иметь обе стороны, перечисленные в двух столбцах? Те справедливые имена столбцов используются для объекта PowerShell CSV? –  Brad 8 April 2010 в 20:25
  • 3
    @Brad: CSV действительно только нужны старый sid и новый sid. Чтобы это работало правильно в Powershell, первая строка CSV должна быть " header" строка с именами столбцов, таким образом, что-то как oldsid,newsid и затем можно использовать $row.oldsid и $row.newsid, когда Вы циклично выполняетесь через. –  MattB 8 April 2010 в 21:37
  • 4
    @MattB: I' ve столкнулся с другой проблемой. Файл ACL, выведенный ICACLS, кажется, отформатирован по-другому. После того, как я выполню свою команду PowerShell и заменю SIDs, размер файла является вдвое менее большим. Я загрузил WinMerge для сравнения этих двух, и первоначально, дамп имеет (00) код после каждого символа. Это будет иметь значение при восстановлении полномочий? –  Brad 9 April 2010 в 23:36
  • 5
    @MattB: Nevermind, я думаю I' ve понял это. содержание набора c:\acls2.bak $file должно быть добавлено с - кодирующий unicode –  Brad 9 April 2010 в 23:45

Восстановление от резервного копирования на новых аппаратных средствах, затем Вы получите локальных пользователей и все файлы. Затем можно просто изменить имя сервера на новое имя.

0
ответ дан 4 December 2019 в 13:09
  • 1
    Мне жаль, что это не было опцией, но it' s нет. –  Brad 8 April 2010 в 16:04

The easiest way is to use IIS Sites Transfer software or IIS Easy Migration Tool from http://www.hoststools.com There are free versions. These tools help to migrate FTP sites, FTP accounts as long as ACL permissions.

2
ответ дан 4 December 2019 в 13:09

Теги

Похожие вопросы