Ich versuche, ein Befehlszeilenprogramm zu schreiben, das IIS7.5 auf Windows Server 2008 Schreibzugriff auf einen Ordner in der Wwwroot geben wird, so dass eine Webanwendung Zugriff auf einen bestimmten Ordner in seinem Basisverzeichnis zu schreiben hat . Zuvor würden Sie dies tun, indem Sie der Gruppe IIS_WPG den Ordner zuweisen, der dieser Gruppe Zugriff ändern gewährt.C# -Code, um automatisch IIS Schreibzugriff auf einen Ordner unter Windows Server 2008 zu geben? Derzeit wirft Ausnahme
In Server 2008 versuche ich, das gleiche mit IIS_IUSRS zu tun, aber eine Ausnahme tritt auf. Hier
ist der Code:
private static void ManagePermissions(string directory, string account, FileSystemRights rights, AccessControlType controlType, bool addAccess)
{
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
if (addAccess)
directorySecurity.AddAccessRule(
new FileSystemAccessRule(account, rights, controlType));
else
directorySecurity.RemoveAccessRule(
new FileSystemAccessRule(account, rights, controlType));
directoryInfo.SetAccessControl(directorySecurity);
}
Der Aufruf dieser Methode ist wie folgt:
ManagePermissions(
"c:\inetpub\wwwroot",
"MACHINENAME\IIS_IUSRS",
FileSystemRights.Modify,
AccessControlType.Allow,
true);
Wenn ausführen diesen Anruf zu ManagePermissions eine Ausnahme mit der folgenden Art und Meldung ausgelöst wird:
Ich habe mehrmals überprüft, um sicherzustellen, dass MACHINENAME \ IIS_IUSRS ein ist n genaue Übereinstimmung mit dem Benutzer im lokalen Benutzermanager auf der Maschine, auf der dieser Code ausgeführt wird. Dieser Computer nimmt nicht an einer Windows-Domäne teil.
Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Und diese Rechte zuweisen Anwendung wird unter einem Benutzerkonto ausgeführt, das bereits Zugriff auf solche Rechte bietet? –
Ja. Diese Anwendung führt eine Reihe von Dingen wie Admin IIS durch, erstellt neue Ordner und kopiert Dateien in dieselben Verzeichnispfade. –