前言,我不能使用PSExec。我不能使用Powershell。禁止使用第三方实用程序,因此我必须使用本机Windows功能。
目前,我可以远程安装msi。但是现在,我必须想出一种方法来运行可执行文件(可能还有命令行争论)。
我想引用txt文件列表(即使是一次性)来提供计算机名称。但是,我想为我想要运行的安装程序提供一个提示/文件浏览器,它位于网络共享上。
我当前的MSI脚本是:
@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f %%i in (C:\Support\BatchTests\chrome.txt) DO (
ECHO *********************************************************
ECHO.
ECHO Installing Chrome on %%i. Stand by...
ECHO.
ECHO *********************************************************
Xcopy "\\Network\Path\To\Resource\googlechromestandaloneenterprise64.msi" "\\%%i\C$\Support\" /E /C /H /R /Y
wmic /node:%%i product call install true,"","\\%%i\C$\Support\googlechromestandaloneenterprise64.msi"
DEL /Q "\\%%i\C$\Support\googlechromestandaloneenterprise64.msi"
)
如果脚本检测到文件类型(msi / exe)以运行正确的代码,那将会很棒。添加了一个输出文件进行验证。
我找到了一个用于远程.exe执行的单独代码,但是当我尝试运行它时出现错误。
C:\ Support \ BatchTests \ SWInstaller.vbs(1,1)Microsoft VBScript 编译错误:字符无效
$computers = Get-Content "C:\Support\BatchTests\swinstall.txt"
foreach ($computer in $computers) {
#The location of the file
$Install = "\\Network\Resource\To\Install\Path\Mozilla FireFox"
#The Install string can have commands aswell
$InstallString = "$Install\Firefox Setup 54.0.exe"
([WMICLASS]"\\$computer\ROOT\CIMV2:Win32_Process").Create($InstallString)
#Output the install result to your Local C Drive
Out-File -FilePath c:\Support\BatchTests\installed.txt -Append -InputObject "$computer"}