我有在Azure中運行手冊下面的代碼:刪除-項目Vs的[有System.IO.File] ::刪除()
$pathToDownloadedBlob = 'C:\depId-20150904032522\SevenZipSharp.dll'
if ((Test-Path $pathToDownloadedBlob) -eq $true)
{
try
{
Remove-Item -Path $pathToDownloadedBlob
}
catch
{
write-error "Could not delete $pathToDownloadedBlob. - $($error[0])"
exit
}
}
當我使用Remove-Item
我得到這個錯誤:
4/7/2015 2:14:14 PM, Error: Remove-Item : The converted JSON string is in bad format.
At DavidTest:45 char:45
+
+ CategoryInfo : InvalidOperation: (System.Unauthor... Boolean force):ErrorRecord) [Remove-Item],
InvalidOperationException
+ FullyQualifiedErrorId : JsonStringInBadFormat,Microsoft.PowerShell.Commands.RemoveItemCommand
當我使用[System.IO.File]::Delete($using:path)
相反,我得到這個錯誤:
4/7/2015 2:22:48 PM, Error: Exception calling "Delete" with "1" argument(s): "Access to the path 'C:\Deployment\SevenZipSharp.dll' is denied."
At DavidTest:46 char:46
+
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : UnauthorizedAccessException
我知道我沒有權限刪除文件。 但是,當我使用Remove-Item
時,它爲什麼會抱怨JSON字符串?編號: 注意這隻發生在Azure自動化。但是,我並沒有真正能夠在本地複製Powershell ISE中的這一點,因爲我有權刪除我希望刪除的文件。
更新:我剛剛意識到這隻發生在.dll文件中。如果我嘗試刪除.7z文件,它工作正常。
是的,但你模擬沒有該文件的權限? –
並且您在本地進行了測試。它對我來說在當地也很好。但不在Azure上。 –