我使用下面的命令来测试URL,并在监视工具中使用相同的内容。
cmd \c powershell -command "Invoke-WebRequest http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/AxManageabilityServiceGroup" | findstr /c:"200 OK"
cmd \c powershell -command "Invoke-WebRequest http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/BIServices" | findstr /c:"200 OK"
cmd \c powershell -command "Invoke-WebRequest http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/CARDIXFServiceGroup" | findstr /c:"200 OK"
cmd \c powershell -command "Invoke-WebRequest http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/CARItemStorePriceAvailServiceGroup" | findstr /c:"200 OK"
第一个和第二个命令有效,但第三个和第四个命令不起作用。我怎么逃避/ C.所有网址都有/ C,我的错误如下所示
'ARDIXFServiceGroup'未被识别为内部或外部命令, 可操作程序或批处理文件。
答案 0 :(得分:0)
如果您只需要对网址进行编码,则可以使用HttpUtility.UrlEncode
方法
[System.Web.HttpUtility]::UrlEncode("http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/BIServices")
然后用当前网址
替换输出此外,您可以使用Powershell -EncodedCommand
对整个命令进行编码,也可以将findstr /c:"200 OK"
转换为Powershell cmdlet Select-String
,以便:
# Encode the Command First:
$command = 'Invoke-WebRequest http://V2-LBDAX-PRD01:8101/DynamicsAx/Services/BIServices | Select-String "200 OK"'
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
cmd /c powershell -encodedCommand $encodedCommand