При попытке выполнить команду POST для / api / в соответствии с этим описанием возникает следующая ошибка:
PS C:\> $Result.Error
remove-item : The Win32 internal error "The handle is invalid" 0x6 occurred
while getting the console mode. Contact Microsoft Customer Support Services.
At line:1 char:44
+ get-childitem * -recurse | remove-item -force
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Remove-Item], HostExce
ption
+ FullyQualifiedErrorId : GetConsoleMode,Microsoft.PowerShell.Commands.Rem
oveItemCommand
Часть скрипта POSH, которую я использую для этогооперация:
$json = @"
{
"command": 'powershell.exe -command `"get-childitem * -recurse | remove-item -force`"',
"dir" : 'site\\wwwroot',
}
"@
$kuduApiUrl = "https://$webAppName.scm.azurewebsites.net/api/command"
$progressPreference = "silentlyContinue"
$Result = Invoke-RestMethod -Uri $kuduApiUrl `
-Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} `
-Body $json `
-Method POST `
-ContentType "application/json"
Я нашел много блогов, в которых указывалось, что это связано с выводом интерактивной консоли, однако установка $ProgressPreference
на SilentlyContinue
не сильно помогла.