PowerShell将错误页添加到IIS中

PowerShell将错误页添加到IIS中,powershell,iis,Powershell,Iis,所以我试着写一个相当简单的我想4个。这将查找目录,列出一组页面,然后获取名称,将其添加到IIS的错误页面脚本中。行吗?!不…我从IIS中得到了不一致的错误。有人有这个问题吗?有人知道我做错了什么吗 目录列表为“ 我的代码如下: $files = dir D:\iis\errorpages Foreach ($file in $files) { $file = $file -replace "[^0-9]" Add-WebConfigurationProperty -pspat

所以我试着写一个相当简单的我想4个。这将查找目录,列出一组页面,然后获取名称,将其添加到IIS的错误页面脚本中。行吗?!不…我从IIS中得到了不一致的错误。有人有这个问题吗?有人知道我做错了什么吗

目录列表为“

我的代码如下:

$files = dir D:\iis\errorpages

Foreach ($file in $files)
{
    $file = $file -replace "[^0-9]"

    Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Website' -filter "system.webServer/httpErrors" -name "." -value @{statusCode=$file;prefixLanguageFilePath='D:\iis\errorpages';path="$file"}
} 

在foreach的每个循环中,
$file
都包含一个具有某些属性的对象。在正则表达式行中,
$file=$file-替换“[^0-9]”
我假设您要修改文件名。如果我假设正确,您应该使用:

$fileName=$file.name-替换“[^0-9]”

这也可能是错误的:

-value@{statusCode=$file;prefixLanguageFilePath='D:\iis\errorpages';path=“$file”

如果需要路径和文件名,请使用属性
fullname

如果你想要一个它所在的目录,你需要将属性
fullname
与字符串操作结合起来。类似这样的
$file.fullname.Substring(0,$file.fullname.LastIndexOf(“\”)

”…一个简单的我想4个,这是否意味着它仅在
ForEach
循环中失败,并且
Add WebConfigurationProperty
在手动插入
$file
变量时工作正常?
$files = dir D:\iis\errorpages

Foreach ($file in $files)
{
    $file = $file -replace "[^0-9]"

    Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Website' -filter "system.webServer/httpErrors" -name "." -value @{statusCode=$file;prefixLanguageFilePath='D:\iis\errorpages';path="$file"}
}