Я пытаюсь написать приложение, которое позволит пользователю без прав администратора создавать виртуальные каталоги в IIS6. Я пробовал множество разных способов олицетворения административной учетной записи, но, похоже, ничего не работает для создания виртуального каталога.
Вот кое-что из того, что я пробовал:
dim sDirPath as string = "IIS://remotehost/W3svc/1/root"
Dim de As DirectoryEntry = New DirectoryEntry()
de.Path = sDirPath
de.AuthenticationType = AuthenticationTypes.Secure
de.Username = tbxUsername.Text
de.Password = tbxPassword.Text
''Fails here
virtualId = CType(de.Invoke("Create", "IIsWebVirtualDir", dirName), DirectoryEntry)
Использование класса AccountAlias из здесь :
aa.BeginImpersonation()
Try
dim sDirPath as string = "IIS://remotehost/W3svc/1/root"
Dim de As DirectoryEntry = New DirectoryEntry()
de.Path = sDirPath
de.AuthenticationType = AuthenticationTypes.Secure
''Fails Here
virtualId = CType(de.Invoke("Create", "IIsWebVirtualDir", dirName), DirectoryEntry)
Finally
aa.EndImpersonation()
End Try
Как правильно выдать себя за другого пользователя в приложении winforms, которое позволит мне создать виртуальный каталог БЕЗ пользователя, который запускает приложение, являясь администратором на веб-сервере? Я знаю, что это можно сделать, диспетчер IIS позволяет использовать для этого флажок «подключиться как».