【问题标题】:Using PowerShell to grant access to a folder for an "IIS AppPool"使用 PowerShell 授予对“IIS AppPool”文件夹的访问权限
【发布时间】:2020-07-30 18:08:54
【问题描述】:

我编写了一个脚本来自动部署我的平台,但我不知道如何设置应用程序池以使用下面的代码获得权限,只需在下面插入带有应用程序池名称的文本。我认为这是因为这是一个友好的名称,当您通常单击检查名称时,它会获取正确的用户,但我不知道在 powershell 中这样做很热。

function Set_iis_perms {
    param (
        [parameter(position=0)]
        $AppPoolName,
        [parameter(position=1)]
        $FileName
    )
    $acl = Get-Acl $FileName
    $acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule(("iis apppool\$Apppool_Name"),"Modify","Allow")))
    $acl | Set-Acl $FileName
}

即使有人能指出我正确的方向,我也会非常感激。

亲切的问候 多姆

【问题讨论】:

    标签: powershell iis application-pool


    【解决方案1】:

    通过 Get/Set-ACL 和 icacls 设置 ACL 是很常见的事情,并且在许多资源中都有介绍。示例:

    Setting ACL on folder or file using PowerShell

    此脚本将在文件夹(c:\1 和 C:2)上设置文件夹权限,并且 它的子文件夹。如果该文件夹不存在,它将创建 文件夹,设置为共享并将组添加到文件夹中。组的名字 必须替换为实际组。

    Application Pool Identities

    Setting permissions for ASP.NET application on IIS with PowerShell

    根据这个 StackOverflow 问答

    How can I add ACL permissions for IIS APPPOOL* accounts via Powershell?

    Set-Acl $directory $acl $user = New-Object
    System.Security.Principal.NTAccount("$domain\\$username")
    

    更新:似乎它不会接受“IIS APPPOOL\AppPoolName”作为 NTAccount 标识符。现在,有两种方法可以完成您的任务 正在尝试做:

    使用 AppPoolIdentities SID 创建一个新的 SID 对象并翻译 将其放入 NTAccount,如下所示: http://iformattable.blogspot.com/2007/12/convert-sid-to-ntaccount-with.html, 并且您应该能够像对待任何其他 NTAccount 对象一样对待它。如果 您仍然希望能够为真实帐户传递域/用户名, 内置一些默认为 AppPool SID 的简单逻辑,如果 username 为“AweSomeAppPool”,domain 为空,仅作为示例。

    使用 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"
    

    【讨论】:

    • 谢谢,我的问题是窗口和大小写我真的很感激这个想法。我让我走上了正轨。
    • 不用担心,很高兴它有帮助。
    猜你喜欢
    • 2012-07-23
    • 2016-06-15
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 2017-01-03
    相关资源
    最近更新 更多