bdu*_*kes 13 iis powershell iis-7 asp.net access-control-list
我希望能够为新网站设置 IIS 帐户以具有修改权限。我有以下脚本:
function Set-ModifyPermission ($directory, $username, $domain = 'IIS APPPOOL') {
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$acl = Get-Acl $directory
$user = New-Object System.Security.Principal.NTAccount($domain, $username )
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule($user, "Modify", $inherit, $propagation, "Allow")
$acl.AddAccessRule($accessrule)
set-acl -aclobject $acl $directory
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,出现如下错误:
Set-Acl : 此工作站与主域之间的信任关系失败。
我认为这是因为IIS APPPOOL
它不是一个真正的域,而是一个假帐户上的奇怪前缀。是否有正确的方法来引用该帐户,以便我可以完成这项工作?
Mat*_*sen 13
首先,像这样使用 Set-Acl,因为目录路径是第一个位置参数:
Set-Acl $directory $acl
Run Code Online (Sandbox Code Playgroud)
其次,您应该创建只有一个参数的用户对象:
$user = New-Object System.Security.Principal.NTAccount("$domain\\$username")
Run Code Online (Sandbox Code Playgroud)
更新:似乎它不会接受“IIS APPPOOL\AppPoolName”作为 NTAccount 标识符。现在,有两种方法可以完成您要执行的操作:
使用 AppPoolIdentities SID 创建一个新的 SID 对象并将其转换为 NTAccount,如下所示:http : //iformattable.blogspot.com/2007/12/convert-sid-to-ntaccount-with.html,您应该能够像对待任何其他 NTAccount 对象一样对待它。如果您仍然希望能够为真实帐户传递域/用户名,请内置一些简单的逻辑,如果用户名是“AweSomeAppPool”并且域为空,则默认为 AppPool SID,仅作为示例。
使用 PowerShell 调用 icacls.exe,并使用它来授予/撤销您想要的任何权限,如下所示(首先是普通的 icacls 形式的命令提示符,然后是 powershell,注意区别):
icacls.exe test.txt /grant "IIS AppPool\DefaultAppPool":(OI)(CI)M
cmd /c icacls test.txt /grant "IIS AppPool\DefaultAppPool:(OI)(CI)M"
如果您选择第二个选项,请务必先手动测试它们,我自己还没有机会测试这些特定示例,但它应该可以工作
以下工作在 Windows 2012 中获取 IIS 站点的 SID。它需要使用 WebAdministration powershell 模块的IIS 提供程序,但本文表明它将在 Windows 2008R2 上运行。
$appPoolName = 'MyAppPool'
$appPoolSid = (Get-ItemProperty IIS:\AppPools\$appPool).applicationPoolSid
$identifier = New-Object System.Security.Principal.SecurityIdentifier $appPoolSid
$user = $identifier.Translate([System.Security.Principal.NTAccount])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16123 次 |
最近记录: |