2017-12-12 3 views
1

폴더 내의 모든 App-V 패키지를 나열하는 목록 상자를 만드는 PowerShell 스크립트를 만들려고합니다. 폴더 내에서 모든 App-V 패키지를 나열하는 스크립트를 실행하여 폴더 내용을 읽습니다.PowerShell에서 목록 상자 만들기 및 선택을 사용하여 작업 수행

상담자 다음 스크립트 선택한 항목은 다음 아래

추가 AppvClientPackage을 명령을 사용하여 앱-V 패키지를 설치하려면 어떻게 | Publish-AppvClientPackage -global.

위의 명령을 실행하기 전에 관리자로 Enable-appv를 실행해야합니다.

위와 같은 내용도 가능합니다. 죄송합니다. PowerShell Scripting을 처음 사용하며 도움, 조언 또는 제안을 주시면 감사하겠습니다. 다음은

내가 가지고있는 코드는 지금까지 내가 APP-V 물건에 익숙하지 않아요하지만 당신은 당신의 목록을 표시하고 선택을 만들기위한 Out-GridView -PassThru를 사용하여 고려가

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Select an App-V packag to install" 
$objForm.Size = New-Object System.Drawing.Size(300,200) 
$objForm.StartPosition = "CenterScreen" 

$OKButton = New-Object System.Windows.Forms.Button 
$OKButton.Location = New-Object System.Drawing.Size(75,120) 
$OKButton.Size = New-Object System.Drawing.Size(75,23) 
$OKButton.Text = "OK" 

DialogResult property to OK. 
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK 

$objForm.Controls.Add($OKButton) 

$objForm.AcceptButton = $OKButton 

$CancelButton = New-Object System.Windows.Forms.Button 
$CancelButton.Location = New-Object System.Drawing.Size(150,120) 
$CancelButton.Size = New-Object System.Drawing.Size(75,23) 
$CancelButton.Text = "Cancel" 

$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel 

$objForm.Controls.Add($CancelButton) 

$objForm.CancelButton = $CancelButton 

$objLabel = New-Object System.Windows.Forms.Label 
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(280,20) 
$objLabel.Text = "Select an App-V packag to install:" 
$objForm.Controls.Add($objLabel) 

$objListBox = New-Object System.Windows.Forms.ListBox 
$objListBox.Location = New-Object System.Drawing.Size(10,40) 
$objListBox.Size = New-Object System.Drawing.Size(260,20) 
$objListBox.Height = 80 

Get-Content Z:\App-V_Package\appv.txt | ForEach-Object {[void] $objListBox.Items.Add($_)} 

$objForm.Controls.Add($objListBox) 

$objForm.Topmost = $True 

$result = $objForm.ShowDialog() 

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) 
{ 
$arguments = "& '" + $myinvocation.mycommand.definition + "'" 
Start-Process powershell -Verb runAs -ArgumentList $arguments 
Break 
} 

Enable-appv 

if ($result -eq [System.Windows.Forms.DialogResult]::OK -and $objListBox.SelectedIndex -ge 0) 
{ 
    $selection = $objListBox.SelectedItem 
    $selection | Add-AppvClientPackage | Publish-AppvClientPackage -global 
} 

답변

0

? 어쩌면 패키지 목록을 패키지에 넣을 수 있습니까?

나는 git 브랜치를 선택하는 데에 대해 요일에 blog post이라고 썼다.

+0

감사합니다. Robin, 답장을 고맙게 생각합니다. 그것을 들여다 볼 것입니다. – Jiks