我在这个论坛上的第一篇文章,因为我总是在这里找到一个解决方案,但不是这次。
我有一个PowerShell脚本的问题,我需要将其转换为.exe文件。它在powershell中应该工作但是当转换为.exe时我得到一个错误。
我正在使用软件' PowerGUI脚本编辑器'将脚本转换为.exe。
在我的脚本中,我采用一个url参数,然后检查网站是否响应。只要我得到答案,它就会恢复正常。 这是脚本:
$returnStateOK = 0
$returnStateWarning = 1
$returnStateCritical = 2
$returnStateUnknown = 3
try
{
$url = $args[0]
Write-Host $args[0]
$webRequest = [net.WebRequest]::Create($url)
$status = $webRequest.GetResponse()
exit $returnStateOK
}
catch
{
## If the request generated an exception (i.e.: 500 server
## error or 404 not found), we can pull the status code from the
## Exception.Response property
$errorstring = "$($error[0])"
try
{
$status = (($errorstring.split('\(')[2]).split(')\')[0]).Trim()
Write-Host $status
exit $returnStateOK
}
catch
{
Write-Host "Critical"
exit $returnStateCritical
}
}
这可以正常工作,但在运行转换后的.exe文件时,我收到以下错误:
Exception calling "Create" with "1" argument(s): "Value cannot be null.
Parameter name: requestUri"
似乎.exe文件不理解我的论点。
/ Muffe