标签: appcmd

IIS应用程序池标识帐户密码以明文形式显示

当我使用"appcmd list appool/text:*"命令时,它以明文形式显示应用程序池标识密码.我也可以使用PowerShell中的Get-WMIObject以明文形式查看密码.这可能是严重的安全威胁,因为具有正确访问凭据的用户可以轻松查看密码.

IIS(v7.5)中的应用程序池使用域用户帐户/密码进行配置.在applicationHost.config文件中,使用"IISWASOnlyAesProvider"加密提供程序加密密码.但是,当我使用上述两种方法中的任何一种时,密码都会以明文形式显示.

有没有办法以这样的方式加密密码,当我使用上述两种方法时,它们不会以明文显示?

iis appcmd applicationhost

6
推荐指数
1
解决办法
4364
查看次数

APPCMD如何在我将其添加到网站之前测试绑定是否存在?

我们在部署脚本中使用appcmd来设置服务器,我需要确保向现有站点添加绑定不会引发错误

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:"abc.com" 
/+bindings.    [protocol='http',bindingInformation='*:80:alias-abc.com']
Run Code Online (Sandbox Code Playgroud)

但是在下一个脚本运行中我得到了错误..

无法使用组合键属性协议添加"绑定"类型的重复集合条目,bindingInformation'分别设置为'http,*:alias-abc.com'

有没有办法在appcmd中添加绑定之前检查绑定是否存在

(不允许使用powershell - 因此必须是appcmd或其他命令行exe)

谢谢

iis appcmd

6
推荐指数
1
解决办法
1096
查看次数

在Azure Web角色上更新aspnet.config

我有一个部署到Azure Web角色(云服务,而不是Azure Web站点)的SignalR解决方案,为了确保我们可以最大化每个实例的连接数,我需要对各种ASP.NET设置进行一些更改,如详细在这篇文章中:http://www.asp.net/signalr/overview/performance/signalr-performance#tuning

使用APPCMD进行相关更改的启动任务可以轻松更改appConcurrentRequestLimit和requestQueueLimit设置.但是,maxConcurrentRequestsPerCPU设置驻留在aspnet.config文件中,该文件无法通过相同的机制进行更改.

我尝试直接使用启动任务更新该文件(现在只是一个基本文件替换),但是在启动任务完成后似乎被Azure运行时替换,因此更改丢失了.我可以RDP进入机器并手动进行更改,因此我已经看到它可以工作,但对于我们希望按需扩展和缩小的服务而言,这是不可持续的.

有关如何在Azure环境中更改此设置的任何想法将不胜感激!

azure appcmd azure-web-roles signalr azure-cloud-services

6
推荐指数
1
解决办法
1163
查看次数

我如何获得appcmd?Windows 10

如何让appcmd编写命令?使用Windows 10.出现此错误:

'appcmd'不被识别为内部或外部命令,可操作程序或批处理文件.

另外,如果我使用了这个命令:

appcmd删除网站"默认网站"

如果我做相反的事情 - 我使用add而不是delete吗?

提前致谢!

马林

command appcmd windows-10

6
推荐指数
1
解决办法
8635
查看次数

如何在powershell中循环直到成功?

%WINDIR%\system32\inetsrv\appcmd.exe set site /site.name:"WebRole_IN_0_CB" /[Path='/'].applicationPool:"ASP.NET v4.0" >>CBLog.log
powershell.exe -command Set-ExecutionPolicy Unrestricted
powershell.exe .\CheckIfSuccessful.ps1
Run Code Online (Sandbox Code Playgroud)

我想运行上面的脚本,如果 appcmd.exe 由于网站尚未启动和准备好而无法执行它,我会在 CBLog.log 文件中收到以下错误消息。

错误(消息:找不到标识符为“WebRole_IN_0_CB”的站点对象。)

在 CheckIfSuccessful.ps1 我想创建一个 Powershell 脚本来循环,它运行 appcmd 命令并再次检查错误。然后休眠 5 秒,然后重试,直到成功。

我将如何在 Powershell 中执行此操作?

高度赞赏,

更新:

好的,非常感谢 $lastexitcode 的提示,虽然它看起来很有希望。似乎我在 Powershell 中转换单引号时遇到问题:(以下是我初始 appcmd 命令的一部分)

/[Path='/'].applicationPool:"ASP.NET v4.0"
Run Code Online (Sandbox Code Playgroud)

我如何在powershell中引用它?我试图简化它,以便 powershell 减少它的麻烦,但现在看来我的命令是错误的,正如它现在所说的:

错误(消息:找不到标识符为“v4.0”的站点对象。)

 & $Env:WinDir\system32\inetsrv\appcmd.exe set site '/site.name:"WebRole_IN_0_CB"' "/[Path='/'].applicationPool:`"ASP.NET v4.0`"" >CBLog.log
if($lastexitcode -ne '0')
{
    while($lastexitcode -ne '0')
    {
        Start-Sleep -s 5
        & $Env:WinDir\system32\inetsrv\appcmd.exe set site '/site.name:"WebRole_IN_0_CB"' "/[Path='/'].applicationPool:`"ASP.NET v4.0`"" >CBLog.log
    }
}
Run Code Online (Sandbox Code Playgroud)

更新二: 我已经正确地逃脱了。但我仍然收到错误消息。如果我在创建该站点后单独运行 appcmd,日志文件就可以了。请问有什么建议吗?

iis powershell appcmd

5
推荐指数
1
解决办法
9099
查看次数

如何在PowerShell中运行appCmd以将自定义标头添加到默认网站

请帮我弄清楚如何正确地转义参数,以便在PowerShell中调用appcmd时它们可以工作.

我的脚本看起来像这样:

$defaultWebSite = "Default Web Site"
$appCmd = "C:\windows\system32\inetsrv\appcmd.exe"
$addHeaderP3P = "set config ""$defaultWebSite"" -section:system.webServer/httpProtocol /+""customHeaders.[name='P3P',value='policyRef=`\`"/w3c/p3p.xml`\`",CP=`\`"DSP COR NID OUR COM PRE`\`"']`""

Write-Output "Here's the argument string: " $addHeaderP3P



Write-Output "`nInvoke Result:"
Invoke-Expression "$appCmd $addHeaderP3P"


Write-Output "`n& Result:"
& $appCmd --%"$addHeaderP3P"
Run Code Online (Sandbox Code Playgroud)

在powershell_ise中运行时输出为:

PS C:\Users\robert.bratton> D:\Junk\p3pheader.ps1
Here's the argument string: 
set config "Default Web Site" -section:system.webServer/httpProtocol /+"customHeaders.[name='P3P',value='policyRef=\"/w3c/p3p.xml\",CP=\"DSP COR NID OUR COM PRE\"']"

Invoke Result:
Failed to process input: The parameter 'COR' must begin with a / or - (HRESULT=80070057).


& Result: …
Run Code Online (Sandbox Code Playgroud)

powershell iis-7 escaping p3p appcmd

5
推荐指数
1
解决办法
8934
查看次数

用于设置virtualDirectory凭据的IIS AppCmd语法

我正在使用app cmd在IIS8中创建一个新的虚拟目录.这个语法是:

appcmd add vdir /app.name:<NAME> /path:<PATH> /physicalPath:<PHYSICAL-PATH>
Run Code Online (Sandbox Code Playgroud)

这很好用.现在我需要设置一些凭据,这在GUI中很容易(虚拟目录 - >基本设置 - >连接为).当我设置它时,我可以在我的applicationHosts.config文件中看到它正在更新xml条目.所以我应该可以使用appcmd手动设置.我正在使用语法导航到正确的xml元素,因此我可以设置attribut"userName"并添加属性"password"

这是我的xml:

<sites>
  <site name="EXAMPLESITE" id="4">
    <application path="/" applicationPool="EXAMPLEPOOL">
        <virtualDirectory path="/" physicalPath="c:\wwwroot\" userName="" />
        <virtualDirectory path="/upload" physicalPath="\\SOME-COMPUTER-ON-NETWORK\upload" userName="" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:80" />
    </bindings>
  </site>
</sites>
Run Code Online (Sandbox Code Playgroud)

iis appcmd

4
推荐指数
1
解决办法
5273
查看次数

appcmd.exe 覆盖单个站点的整个 xml 配置(将设置应用到已存在的站点)

我不想删除并重新创建站点,我只想能够将整个配置应用于该站点并覆盖任何不同的设置。

我备份了站点配置%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml

该命令会引发错误:

appcmd.exe add site /in < c:\sites.xml
ERROR ( message:Failed to add duplicate collection element "mysite". )
Run Code Online (Sandbox Code Playgroud)

我是否真的必须将所有 IIS 配置分解为单独的 appcmd 命令,或者是否有一种方法可以一次性应用整个 xml 并且仅覆盖设置?

我想要一个 xml 模板,可以将其推送到托管该站点的所有网络服务器。

iis iis-logs appcmd iis-7.5 iis-8

4
推荐指数
1
解决办法
5007
查看次数

如何使用 appcmd.exe 为 HTTPS 添加新绑定

我有以下脚本来设置我的网站...

%AppCmd% ADD SITE /name:%SiteName% /physicalPath:%SitePath% /bindings:http/*:80:%SiteName%
%AppCmd% SET SITE /site.name:%SiteName% /[path='/'].applicationPool:%SiteName%
Run Code Online (Sandbox Code Playgroud)

我现在想做的是找出如何为 HTTPS添加附加绑定。看到很多页面现在描述将主机头添加到现有的 https 绑定,但没有显示实际如何像在 UI 中那样添加新绑定。

注意:我相信我需要两个绑定,一个 HTTP(端口 80)和一个 HTTPS(端口 443),因为目前我需要打开端口 80,因为我使用重定向规则来交换在端口 80 上访问站点的人443.如果有一种方法可以避免这样做,并且只是我的绑定,我完全赞成。

iis appcmd

4
推荐指数
1
解决办法
1万
查看次数

如何使用appcmd.exe在IIS上为每个站点设置环境变量?

在IIS管理器上为每个站点设置环境变量非常容易:

IIS

我正在寻找使用appcmd.exe的方法,所以我可以在我的安装脚本中包含它.

我得到的最接近的是:

C:\>C:\Windows\System32\inetsrv\appcmd.exe set config "dashboard" -section:system.webServer/aspNetCore /environmentVariables.[name='foo',value='bar'] /commit:apphost
Run Code Online (Sandbox Code Playgroud)

- >仪表板是我网站的名称.

但是此命令返回此错误:

错误(消息:找不到请求的集合元素.)

iis environment-variables appcmd

4
推荐指数
1
解决办法
2379
查看次数