Функция должна в конечном итоге сделать так и запустить команду:
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter 'system.web/customErrors' -name 'mode'
Однако переменная путается с этим добавленным текущим рабочим каталогом и обратной косой чертой:
Get-WebConfigurationProperty : Cannot find path 'C:\Users\username\'MACHINE\WEBROOT\APPHOST\Default Web Site''
because it does not exist
ECHO выглядит хорошо, а также перенаправление в файл также хорошо:
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter 'system.web/customErrors' -name 'mode'
Пример прогона:
PS C:\temp> Get-Check-Func2 "webcA" "mode" "system.web/customErrors"
'MACHINE/WEBROOT/APPHOST/Default Web Site'
system.web/customErrors
mode
Get-WebConfigurationProperty : Cannot find path 'C:\Users\username\'MACHINE\WEBROOT\APPHOST\Default Web Site''
because it does not exist.
At line:10 char:16
+ ... Get-WebConfigurationProperty -pspath ` $mypspath ` -filte ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Users\usern...fault Web Site':String) [Get-WebConfigurationProperty
], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.IIs.PowerShell.Provider.GetConfigurationPropertyCommand
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter 'system.web/customErrors' -name 'mode'
Пожалуйста, будьте добры, поскольку я новичок в PowerShell.
Исходя из фона korn / bash.
function Get-Check-Func2 {
$a = Get-Website
$myws = $a.Name
$mypspath = 'MACHINE/WEBROOT/APPHOST/' + "$myws"
$mypspath = '''' + $mypspath + ''''
$myfilter = '''' + $args[2] + ''''
$myname = '''' + $args[1] + ''''
echo "$mypspath"
echo $args[2]
Get-WebConfigurationProperty -pspath ` $mypspath ` -filter ` $myfilter ` -name ` $myname
echo "Get-WebConfigurationProperty -pspath ` $mypspath ` -filter ` $myfilter ` -name ` $myname"
}
Ожидается, что Get-WebConfigurationProperty запустится, но похоже, что переменная испорчена.