导入模块出现错误:进程应具有提升的状态才能访问 IIS 配置数据

问题描述 投票:0回答:1

`名称:DEEEE部署到开发环境 在: 推: 分支机构: - 掌握 拉请求: 分支机构: - 准备棒 环境:

AZURE_DEVWEBAPP_NAME:GitAc-Dev AZURE_PREPRODWEBAPP_NAME:GitAc-PreProd AZURE_WEBAPP_PACKAGE_PATH: 'D: \GitNewTest2\GitNewTest2\GitNewTest2 中' 工作: 建造: 运行版本:windows-latest 脚步: - 使用:actions/checkout@v2

- name: Setup MSBuild
  uses: microsoft/setup-msbuild@v1

- name: Setup NuGet
  uses: NuGet/[email protected]

- name: Restore NuGet packages
  run: nuget restore GitNewTest2/GitNewTest2.sln

- name: build
  run: |
       msbuild GitNewTest2/GitNewTest2.sln /t:Build /p:Configuration=Release /p:Platform="Any CPU" /verbosity:minimal
- name: publish
  run: |
       msbuild GitNewTest2/GitNewTest2.sln /t:Publish /p:Configuration=Release /p:Platform="Any CPU" /p:PublishDir="./artifacts"
  • 名称:上传工件 使用:actions/upload-artifact@v2 和: 名称: myapp 路径:${{env.AZURE_WEBAPP_PACKAGE_PATH}}

    • 名称:running1 运行:| 获取位置

    • 名称:running6 运行:| 目录 D: \GitNewTest2\GitNewTest2\GitNewTest2 in

  • 名称:下载工件 使用:actions/download-artifact@v2 和: 名称: myapp 路径:'C:pp.publish'

    • 名称:跑步 运行:| 获取位置

    • 名称:running2 运行:| 目录

    • 名称:running3 运行:| cd C: pp.publish 目录

    部署开发:

     name: Dev
     needs: Build
      # if: github.event_name == 'refs/heads/master'
     runs-on: self-hosted
     env:
        DEV_WEBSITE_NAME: ${{secrets.DEV_WEBSITE_NAME}}
        DEV_APP_POOL_NAME: ${{secrets.DEV_APP_POOL_NAME}}
        WEBAPP_MSDeploy_USERNAME: ${{secrets.IIS_USERNAME}}
        WEBAPP_MSDeploy_PASSWORD: ${{secrets.IIS_PASSWORD}}
     environment:
          name: Dev
     steps:
        - name: Checkout Code 
          uses: actions/checkout@v2
        - name: Download artifacts
          uses: actions/download-artifact@v2
          with:
           name: myapp
           path: 'C:\app.publish'
    
    
        - name: copying
          run: |
               $path="${{github.workspace}}\GitNewTest2\Scripts\DevTestScript.ps1"
               echo $path
               & $path
    
               cd C:\inetpub\wwwroot\
               dir
               Copy-Item C:\app.publish\* C:\inetpub\wwwroot\${{env.DEV_WEBSITE_NAME}} -Recurse -Force
    
  • 名称:创建新的应用程序池 运行:|

              Start-Process powershell.exe -Verb RunAs -ArgumentList "-File C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestAppPool.ps1"
    
              # & C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestAppPool.ps1
       - name: create website
         run: |
            & C:\actions-runner\_work\GitNewTest2\GitNewTest2\GitNewTest2\Scripts\DevTestWebsite.ps1
       - name: config to use new appool
         run: |
           Set-ItemProperty -Path "IIS:\Sites\${{env.DEV_WEBSITE_NAME}}" -Name "applicationPool" -Value ${{env.DEV_APP_POOL_NAME}}
    
    
       - name: Deploy to IIS
         run: |
            start-process PowerShell -verb runas 
            iisreset /stop
            iisreset /start
    

`

上面我分享了我的 github 工作流程代码,我尝试过使用命令 RunAs ,然后也尝试编辑注册表策略。我仍然看到同样的错误。任何帮助都会很棒。

.net iis github-actions .net-4.8
1个回答
0
投票

我正在使用自托管的 GitHub 操作,这发生在我身上:

我一直在努力解决这个问题,因为当我试图让池休眠然后启动它并且特权导致它时,我遇到了这个错误

Run Stop-WebAppPool -Name "DotNetTesting"
Process should have elevated status to access IIS configuration data.
stop-webitem : Cannot find drive. A drive with the name 'IIS' does not exist.

我通过转到操作运行程序并尝试以管理员身份运行“run.cmd”解决了这个问题并解决了。

© www.soinside.com 2019 - 2024. All rights reserved.