Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.AppV.AppvClientPowerShell;
- using System.Collections.Generic;
- using System.Linq;
- using System.Management.Automation;
- namespace AppV5API
- {
- class Client
- {
- private static PowerShell ps;
- public static void Initialize()
- {
- ps = PowerShell.Create();
- ps.AddCommand("Import-Module");
- ps.AddArgument("AppvClient");
- ps.Invoke();
- ps.Commands.Clear();
- }
- public static List<AppvClientApplication> GetAppvClientApplications(bool all = true)
- {
- ps.AddScript("Get-AppvClientApplication" + (all?" -All":""));
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientApplication).ToList();
- ps.Commands.Clear();
- return results;
- }
- public static List<AppvClientApplication> GetAppvClientApplications(string nameFilter, bool all = true)
- {
- ps.AddScript("Get-AppvClientApplication -Name \"*" + nameFilter + "*\"" + (all ? " -All" : ""));
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientApplication).ToList();
- ps.Commands.Clear();
- return results;
- }
- public static List<AppvClientPackage> GetAppvClientPackages(bool all = true)
- {
- ps.AddScript("Get-AppVClientPackage" + (all ? " -All" : ""));
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return results;
- }
- public static List<AppvClientPackage> GetAppvClientPackages(string nameFilter, bool all = true)
- {
- ps.AddScript("Get-AppVClientPackage -Name '*" + nameFilter + "*'" + (all ? " -All" : ""));
- //ps.AddArgument("");
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return results;
- }
- public static AppvClientPackage AddAppVClientPackage(string path)
- {
- ps.AddScript("Add-AppVClientPackage -Path \"" + path + "\"");
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return results[0];
- }
- public static AppvClientPackage RemoveAppvClientPackage(string packageId, string versionId)
- {
- ps.AddScript("Remove-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvClientPackage> RemoveAppvClientPackages(string nameFilter)
- {
- ps.AddScript("Remove-AppVClientPackage -Name '*" + nameFilter + "*'");
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvPublishingServer> GetAppvPublishingServers()
- {
- ps.AddScript("Get-AppvPublishingServer");
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvPublishingServer).ToList();
- ps.Commands.Clear();
- return results;
- }
- public static AppvPublishingServer SyncAppvPublishingServer(uint id, bool global = true, bool force = true)
- {
- ps.AddScript("Sync-AppvPublishingServer " + id + (global?" -Global":"") + (force?" -Force":""));
- var results = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvPublishingServer).First();
- ps.Commands.Clear();
- return results;
- }
- public static AppvClientPackage MountAppvClientPackage(string packageId, string versionId)
- {
- ps.AddScript("Mount-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvClientPackage> MountAppvClientPackages(string nameFilter)
- {
- ps.AddScript("Mount-AppVClientPackage -Name '*" + nameFilter + "*'");
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return result;
- }
- public static AppvClientPackage PublishAppvClientPackage(string packageId, string versionId)
- {
- ps.AddScript("Publish-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvClientPackage> PublishAppvClientPackages(string nameFilter)
- {
- ps.AddScript("Publish-AppVClientPackage -Name '*" + nameFilter + "*'");
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return result;
- }
- public static AppvClientPackage RepairAppvClientPackage(string packageId, string versionId, bool global = false, bool extensions = false, bool userState = false)
- {
- ps.AddScript("Repair-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId + (global ? " -Global" : "") + (extensions ? " -Extensions" : "") + (userState ? " -UserState" : ""));
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvClientPackage> RepairAppvClientPackages(string nameFilter, string version = "", bool global = false, bool extensions = false, bool userState = false)
- {
- ps.AddScript("Repair-AppVClientPackage -Name '*" + nameFilter + "*'" + (version.Length > 0?" -Version \"" + version + "\"":"") + (global?" -Global":"") + (extensions?" -Extensions":"") + (userState?" -UserState":""));
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return result;
- }
- public static void SendAppVClientReport()
- {
- ps.AddCommand("Send-AppVClientReport");
- ps.Invoke();
- }
- public static AppvClientPackage StopAppvClientPackage(string packageId, string versionId)
- {
- ps.AddScript("Stop-AppVClientPackage -PackageId " + packageId + " -VersionId " + versionId);
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).First();
- ps.Commands.Clear();
- return result;
- }
- public static List<AppvClientPackage> StopAppvClientPackages(string nameFilter)
- {
- ps.AddScript("Stop-AppVClientPackage -Name '*" + nameFilter + "*'");
- var result = ps.Invoke().Select(r => r.ImmediateBaseObject as AppvClientPackage).ToList();
- ps.Commands.Clear();
- return result;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement