我试图在远程计算机上执行脚本。
我在远程计算机上做了“Enable-PSremoting
”。
我在远程机器中放置了一个脚本hello.ps1
。
[我的客户端计算机是Windows XP,远程计算机是Windows 2003]
然后从我的客户端计算机上我尝试执行脚本。
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
我收到了以下错误。
Invoke-Command:找不到路径'C:\ hello.ps1',因为它没有 存在。
我认为它试图从客户端机器中查找脚本。
如果我尝试运行
invoke-command -computer $MachineName -command { C:\hello.ps1 }
,它执行客户端远程机器中可用的脚本。
但我想在远程机器本身执行远程脚本。
如何让它运行远程机器中可用的脚本?
更新:
实际上,此命令“invoke-command -computer $MachineName -command { C:\hello.ps1 }
”在远程端工作,并将结果返回给客户端。我通过查看它在客户端执行的返回值来误解。
答案 0 :(得分:13)
当你写:
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
脚本C:\hello.ps1
将从客户端计算机中获取并带到服务器以执行。因此,您已经错误文件不存在,因为Invoke-Command正在客户端计算机中查找该文件。
答案 1 :(得分:1)
答案 2 :(得分:0)
我有完全相同的探针,并使用ant -f bin/tools.xml class -Dclass.includes=com/..path-to-package/*
和[WMICLASS] 's create()
的组合解决了它。
检查我的回答here。
答案 3 :(得分:0)
我遇到了同样的错误,但我在你的代码中的一个变量中挂了一个远程会话,最后有了一些有用的东西:
rgb_img = zeros([300 300 3], 'uint8');
redValue = 127;
rgb_img(:, :, 1) = redValue;
blueValue = 12;
rgb_img(:, :, 3) = blueValue;
hsvMap = hsv(360);
figure('Position', [100 100 1000 500]);
for greenValue = 0:5:255
rgb_img(:, :, 2) = greenValue;
hsv_img = rgb2hsv(rgb_img);
hsvIndex = round(hsv_img(:, :, 1).*359)+1;
h_img = reshape(hsvMap(hsvIndex(:), :), [300 300 3]);
subplot(1, 4, 1);
imshow(rgb_img);
title(sprintf('RGB = (%3d, %3d, %3d)', redValue, greenValue, blueValue));
set(gca, 'Visible', 'on', 'Box', 'on', 'XTick', [], 'YTick', []);
subplot(1, 4, 2);
imshow(h_img);
title(sprintf('Hue = %0.3f', hsv_img(1, 1, 1)));
set(gca, 'Visible', 'on', 'Box', 'on', 'XTick', [], 'YTick', []);
subplot(1, 4, 3);
imshow(hsv_img(:, :, 2), []);
title(sprintf('Saturation = %0.3f', hsv_img(1, 1, 2)));
set(gca, 'Visible', 'on', 'Box', 'on', 'XTick', [], 'YTick', []);
subplot(1, 4, 4);
imshow(hsv_img(:, :, 3), []);
title(sprintf('Value = %0.3f', hsv_img(1, 1, 3)));
set(gca, 'Visible', 'on', 'Box', 'on', 'XTick', [], 'YTick', []);
drawnow;
end
有一百万个Invoke-etc解决方案,但最简单的工作最终对我而言。谢谢你。