2017-01-09 189 views
-1

我写了一个非常短的电源外壳脚本,它将从本地托管的HTTP服务器下载并安装ossec代理的二进制文件,并在各自的机器上执行它。二进制文件用相应的机器IP地址命名。我想从我的活动目录中的500多台机器上执行此脚本作为启动脚本,但它不起作用。 我已经在5-6台机器上测试了power shell的脚本目录,它正在工作。有人可以检查一下做错了什么吗?这是简单的powershell脚本。电源外壳从AD启动脚本执行脚本

$user=$env:username 
$localIpAddress=((ipconfig | findstr [0-9].\.)[0]).Split()[-1] 
powershell -Command "(New-Object Net.WebClient).DownloadFile('http://192.168.10.220/$localIpAddress.exe','C:\Users\$user\Downloads\ossec.exe')" 
cd "C:\Users\$user\Downloads" 
.\ossec.exe /S 
+0

请不要再提出问题。如果您需要提供其他信息:编辑您已发布的问题。 –

回答

0

我会检查你的ExecutionPolicy设置,并有可能看到,如果文件需要“疏导” - 见here获取更多信息。

在不同的音符,使用WMI是让你的机器的IP地址的一个稍微干净的方式,例如:

[String] $strIP = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter 'IPEnabled = "true"' | Select-Object -First 1).IPAddress;