我正在使用PowerShell脚本从网页获取动态文件名。
当我在PowerShell提示符下运行代码时,它返回文件名的输出,例如#!/usr/local/bin/perl
open file, "EDCNDC-Daily-Volume-Forecast_Ops Forecast by Shift.csv"
or die $!; #Opens File or returns error thrown ($!)
while ( <file> ) {
if ( $. < 4 ) {
print "";
}
elsif ( $. > 8 ) {
print "";
}
elsif ( $_ =~ /^\,\,\,\,/ ) {
print substr( $_, 4 );
}
else {
print $_;
}
}
close file
。
$VMProperties = Import-Csv $PathTocsv -Delimiter ";";
foreach ($Property in $VMProperties){
$NumberOfCPU = $Property.NumberOfCPU;
$MemoryGB = $Property.MemoryGB;
$MachineMacAddress = $Property.MachineMacAddress;
Write-Host $NumberOfCPU;
Write-Host $MemoryGB;
Write-Host $MachineMacAddress;
$OldmacAddress = (Get-VM -Name $VMName | Get-VMNetworkAdapter).MacAddress
Write-Host "OldMacAddress is $OldmacAddress";
Get-VM -Name $VMName | Set-VMNetworkAdapter -StaticMacAddress $MachineMacAddress
$NewMacAddress = (Get-VM -Name $VMName | Get-VMNetworkAdapter).MacAddress
Write-Host "OldMacAddress is $NewMacAddress";
$OldProcessorCount = (Get-VM -Name $vmname).ProcessorCount
$OldMemoryAssined = (Get-VM -Name $vmname).MemoryAssigned
Write-Host "OldProcessorCount is $OldProcessorCount";
Write-Host "OldMemoryAssined is $OldMemoryAssined";
Write-Host "OldProcessorCount is $NewProcessorCount";
Set-VM –MemoryAssigned $MemoryGB -ProcessorCount $NumberOfCPU;
$NewProcessorCount = (Get-VM -Name $vmname).ProcessorCount
$NewMemoryAssined = (Get-VM -Name $vmname).MemoryAssigned
}
Start-VM -Name $VMName
然后我将代码复制到执行PowerShell脚本的Jenkins作业。
这里没有返回文件名,我看到下面的错误:
Invoke-WebRequest:无法解析响应内容,因为Internet Explorer引擎不可用,或者Internet Explorer的首次启动配置未完成....
我已尝试将abcxyz.jpeg
替换为((Invoke-WebRequest -Uri ‘http://myurl.x.y/abc/pqr/’).Links | Where innerHTML -like “abc*.jpeg”).href
,使用Invoke-WebRequest
等。有些网站建议打开并配置Internet Explorer,这已经完成了,不过我也试过了。< / p>
Jenkins Job与用户Administrator一起运行。所有其他PowerShell命令,如读取文件,更新文件都可以正常工作,但我只能在上面的命令中得到错误。
因此,如果wget
从PowerShell命令提示符正常工作,那么为什么它不能通过Jenkins作业工作? PowerShell脚本在我执行作业的同一台机器上执行。
我认为这更多地与Jenkins环境有关,请提供建议。
答案 0 :(得分:0)
正在搜索&#34; Internet Explorer的首次启动配置尚未完成&#34; 我遇到了a link! 。需要按照步骤来解决它。但是我的Windows 2012服务器,我无法找到组策略对象对话框窗口。
然后遇到了link!找到组策略对象窗口。
步骤在命令行窗口中(运行gpedit.msc并单击确定)
滚动浏览附加图片中突出显示的部分,然后打开&#34;阻止运行首次运行向导&#34;。一旦你能够打开它。按照第一个链接中的步骤进行操作。
答案 1 :(得分:0)
几天前我遇到了类似的问题,我通过在“Invoke-WebRequest”调用中应用代理设置解决了这个问题。
像这样;
Invoke-WebRequest -URI $url -Proxy 'http://10.10.7.11:80' -ProxyCredential $creds