Advertisement
parabola949

AppV 5 API

Jul 11th, 2014
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.36 KB | None | 0 0
  1. using Microsoft.AppV.AppvClientPowerShell;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Management.Automation;
  5.  
  6. namespace AppV5API
  7. {
  8.     class Client
  9.     {
  10.         private static PowerShell ps;
  11.  
  12.         public static void Initialize()
  13.         {
  14.             ps = PowerShell.Create();
  15.             ps.AddCommand("Import-Module");
  16.             ps.AddArgument("AppvClient");
  17.             ps.Invoke();
  18.             ps.Commands.Clear();
  19.         }
  20.  
  21.         public static List<AppvClientApplication> GetAppvClientApplications(bool all = true)
  22.         {
  23.             ps.AddScript("Get-AppvClientApplication" + (all?" -All":""));
  24.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientApplication).ToList();
  25.             ps.Commands.Clear();
  26.             return results;
  27.         }
  28.  
  29.         public static List<AppvClientApplication> GetAppvClientApplications(string nameFilter, bool all = true)
  30.         {
  31.             ps.AddScript("Get-AppvClientApplication -Name \"*" + nameFilter + "*\"" + (all ? " -All" : ""));
  32.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientApplication).ToList();
  33.             ps.Commands.Clear();
  34.             return results;
  35.         }
  36.  
  37.         public static List<AppvClientPackage> GetAppvClientPackages(bool all = true)
  38.         {
  39.             ps.AddScript("Get-AppVClientPackage" + (all ? " -All" : ""));
  40.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  41.             ps.Commands.Clear();
  42.             return results;
  43.         }
  44.  
  45.         public static List<AppvClientPackage> GetAppvClientPackages(string nameFilter, bool all = true)
  46.         {
  47.             ps.AddScript("Get-AppVClientPackage -Name '*" + nameFilter + "*'" + (all ? " -All" : ""));
  48.             //ps.AddArgument("");
  49.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  50.             ps.Commands.Clear();
  51.             return results;
  52.         }
  53.  
  54.         public static AppvClientPackage AddAppVClientPackage(string path)
  55.         {
  56.             ps.AddScript("Add-AppVClientPackage -Path \"" + path + "\"");
  57.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  58.             ps.Commands.Clear();
  59.             return results[0];
  60.         }
  61.  
  62.         public static AppvClientPackage RemoveAppvClientPackage(string packageId, string versionId)
  63.         {
  64.             ps.AddScript("Remove-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
  65.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
  66.             ps.Commands.Clear();
  67.             return result;
  68.         }
  69.  
  70.         public static List<AppvClientPackage> RemoveAppvClientPackages(string nameFilter)
  71.         {
  72.             ps.AddScript("Remove-AppVClientPackage -Name '*" + nameFilter + "*'");
  73.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  74.             ps.Commands.Clear();
  75.             return result;
  76.         }
  77.  
  78.         public static List<AppvPublishingServer> GetAppvPublishingServers()
  79.         {
  80.             ps.AddScript("Get-AppvPublishingServer");
  81.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvPublishingServer).ToList();
  82.             ps.Commands.Clear();
  83.             return results;
  84.         }
  85.  
  86.         public static AppvPublishingServer SyncAppvPublishingServer(uint id, bool global = true, bool force = true)
  87.         {
  88.             ps.AddScript("Sync-AppvPublishingServer " + id + (global?" -Global":"") + (force?" -Force":""));
  89.             var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvPublishingServer).First();
  90.             ps.Commands.Clear();
  91.             return results;
  92.         }
  93.  
  94.         public static AppvClientPackage MountAppvClientPackage(string packageId, string versionId)
  95.         {
  96.             ps.AddScript("Mount-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
  97.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
  98.             ps.Commands.Clear();
  99.             return result;
  100.         }
  101.  
  102.         public static List<AppvClientPackage> MountAppvClientPackages(string nameFilter)
  103.         {
  104.             ps.AddScript("Mount-AppVClientPackage -Name '*" + nameFilter + "*'");
  105.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  106.             ps.Commands.Clear();
  107.             return result;
  108.         }
  109.  
  110.         public static AppvClientPackage PublishAppvClientPackage(string packageId, string versionId)
  111.         {
  112.             ps.AddScript("Publish-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
  113.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
  114.             ps.Commands.Clear();
  115.             return result;
  116.         }
  117.  
  118.         public static List<AppvClientPackage> PublishAppvClientPackages(string nameFilter)
  119.         {
  120.             ps.AddScript("Publish-AppVClientPackage -Name '*" + nameFilter + "*'");
  121.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  122.             ps.Commands.Clear();
  123.             return result;
  124.         }
  125.  
  126.         public static AppvClientPackage RepairAppvClientPackage(string packageId, string versionId, bool global = false, bool extensions = false, bool userState = false)
  127.         {
  128.             ps.AddScript("Repair-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId + (global ? " -Global" : "") + (extensions ? " -Extensions" : "") + (userState ? " -UserState" : ""));
  129.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
  130.             ps.Commands.Clear();
  131.             return result;
  132.         }
  133.  
  134.         public static List<AppvClientPackage> RepairAppvClientPackages(string nameFilter, string version = "", bool global = false, bool extensions = false, bool userState = false)
  135.         {
  136.             ps.AddScript("Repair-AppVClientPackage -Name '*" + nameFilter + "*'" + (version.Length > 0?" -Version \"" + version + "\"":"") + (global?" -Global":"") + (extensions?" -Extensions":"") + (userState?" -UserState":""));
  137.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  138.             ps.Commands.Clear();
  139.             return result;
  140.         }
  141.  
  142.         public static void SendAppVClientReport()
  143.         {
  144.             ps.AddCommand("Send-AppVClientReport");
  145.             ps.Invoke();
  146.         }
  147.  
  148.         public static AppvClientPackage StopAppvClientPackage(string packageId, string versionId)
  149.         {
  150.             ps.AddScript("Stop-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
  151.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
  152.             ps.Commands.Clear();
  153.             return result;
  154.         }
  155.  
  156.         public static List<AppvClientPackage> StopAppvClientPackages(string nameFilter)
  157.         {
  158.             ps.AddScript("Stop-AppVClientPackage -Name '*" + nameFilter + "*'");
  159.             var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
  160.             ps.Commands.Clear();
  161.             return result;
  162.         }
  163.          
  164.  
  165.  
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement