Powershell 安装VLC自动安装,无需点击下一步
我有一个脚本,可以从服务器安装VLC。当我运行脚本时,我的文本文件中的每个计算机名都将启动安装过程,然后点击“下一步”(基本上) 我很好奇如何为任何软件编写这些脚本,以便只需安装,而不提示所有这些“下一步”并自行安装。这可能吗Powershell 安装VLC自动安装,无需点击下一步,powershell,Powershell,我有一个脚本,可以从服务器安装VLC。当我运行脚本时,我的文本文件中的每个计算机名都将启动安装过程,然后点击“下一步”(基本上) 我很好奇如何为任何软件编写这些脚本,以便只需安装,而不提示所有这些“下一步”并自行安装。这可能吗 # Run As Administrator Function Get-FileName{ [CmdletBinding()] Param( [String]$Filter = "|*.*", [String]$InitialDirectory = "C
# Run As Administrator
Function Get-FileName{
[CmdletBinding()]
Param(
[String]$Filter = "|*.*",
[String]$InitialDirectory = "C:\")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $InitialDirectory
$OpenFileDialog.filter = $Filter
[void]$OpenFileDialog.ShowDialog()
$OpenFileDialog.filename
}
$file = Get-FileName -InitialDirectory $env:USERPROFILE\Desktop -Filter "Text files (*.txt)|*.txt|All files (*.*)|*.*"
ForEach ($item in (Get-Content $file)) {
$sitem = $item.Split("|")
$computer = $sitem[0].Trim()
$user = $sitem[1].Trim()
$filepath = Test-Path -Path "\\$computer\c$\Program Files (x86)\VideoLAN\VLC\"
If ($filepath -eq $false) {
Get-Service remoteregistry -ComputerName $computer | Start-Service
Copy-Item -Path "\\server\Unsupported Software\VLC MediaPlayer" -Destination "\\$computer\c$\windows\temp\" -Container -Recurse -Force
$InstallString = '"C:\windows\temp\VLC MediaPlayer\vlc-2.2.1-win32.exe"'
([WMICLASS]"\\$computer\ROOT\CIMV2:Win32_Process").Create($InstallString)
"$computer" + "-" + "$(Get-Date)" | Out-File -FilePath "\\server\Unsupported Software\VLC MediaPlayer\RemoteInstallfile.txt" -Append
} Else {
"$computer" + "_Already_Had_Software_" + "$(Get-Date)" | Out-File -FilePath "\\server\Unsupported Software\VLC MediaPlayer\RemoteInstallfile.txt" -Append
}
}
根据,您可以使用命令行开关安装VLC,如:
vlc-2.0.1-win32.exe /L=1033 /S
其中,
/S
可能是无声安装的开关。那么每个应用程序都不同吗?或者这涵盖了大多数应用程序吗?你知道我在脚本中的什么地方会添加这个吗?当然,每个应用程序可能会有所不同,但大多数应用程序都提供这种静默安装。但是,您必须检查每个应用程序的命令行安装语法。您可能必须将其添加到$InstallString
变量中。它是否在此行中<代码>$InstallString='“C:\windows\temp\VLC MediaPlayer\VLC-2.2.1-win32.exe”可能是。PowerShell中有很多方法可以启动应用程序,我从未使用过WMICLASS。