Video Screencast Help

ASDK and Package Management

Created: 24 Aug 2009 • Updated: 21 May 2010 | 9 comments
Matt S's picture
This issue has been solved. See solution.

I am trying to set up a vbscript to enable packages to specific package servers on demand.  I have found the SWDSolnPackageManagementLib.SetPackageExPackageServerOptions Method and it appears to do what I want.  I am running into 'type mismatch' errors though.

Can anyone assist?

Here is the function call itself:

result = SetpackageExPackageServerOptions("bff09bbe-cb89-44d1-ab2a-6eafa657dd44",false,"5d07498b-952c-4097-a339-156a4c1c1388")

"bff09bbe-cb89-44d1-ab2a-6eafa657dd44" is the GUID of my 'test' package
"5d07498b-952c-4097-a339-156a4c1c1388" is the GUID of one of my package servers(I have tried comma seperating several of them but same issue..)

Any ideas?  Anyone else done this?  The above call is very simplified, I have about 10 very large files I am sending out to locations via external hard drives and once the files are put in place on the package servers I would like to trigger a script that turns them on for that server.  It is the only 'easy' way I can come up with to get 13 Gigs of files out there over slow links!

Thanks,

Matt

Comments 9 CommentsJump to latest comment

KSchroeder's picture

Well I haven't done much of anything with the SDK yet...but just from basic VBScripting, you need to have some object to call that function, like

Dim objSWD, result
Set objSWD = CreateObject("Altiris.SWDSolnPackageManagementLib")  ' err something like this?? result = objSWD.SetpackageExPackageServerOptions("bff09bbe-cb89-44d1-ab2a-6eafa657dd44",false,"5d07498b-952c-4097-a339-156a4c1c1388")

Just a suggestion...

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

KSchroeder's picture

I went out and got the ASDK and looked at the CHM file a bit and found this:

[VBS]
set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
packageManagement.TargetServer = "localhost"
packageManagement.UserName = "username"
packageManagement.Password = "password"
packageManagement.DomainName = "domain"
packageManagement.Authenticate()
result = packageManagement.SetPackageExPackageServerOptions( packageObject.Guid, true, PackageServerGuids, "C:\Program Files\Altiris\Altiris Agent\Package Server Agent")

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

Matt S's picture

I guess I should have included my full script instead of the snippet that I did.  Here is what I have at this point, followed by the output.

Dim CRLF
Dim strGuid
Dim strPackageServerList,strNewPackageServer,strNewPackageServerList
Dim result

CRLF = CHR( 13 ) & CHR( 10 ) 'Carrage Return Line Feed

'create a package management Object
set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
packageManagement.TargetServer = "localhost"
packageManagement.Authenticate()

strGuid = "bff09bbe-cb89-44d1-ab2a-6eafa657dd44"

'Wscript.Echo "SWDSolnPackageManagementLib"

set packageObject = packageManagement.GetPackageExByGuid(strGuid)

wscript.Echo "packageObject Item Details" & CRLF _
   & " packageObject.AgentDisplayDescription=" & packageObject.AgentDisplayDescription & CRLF _
   & " packageObject.AgentDisplayName=" & packageObject.AgentDisplayName & CRLF _
   & " packageObject.AlternateDownloadDestinationLocation=" & packageObject.AlternateDownloadDestinationLocation & CRLF _
   & " packageObject.Attributes=" & packageObject.Attributes & CRLF _
   & " packageObject.EnableVerboseEvents=" & packageObject.EnableVerboseEvents & CRLF _
   & " packageObject.Description=" & packageObject.Description & CRLF _
   & " packageObject.PackageDirectory=" & packageObject.PackageDirectory & CRLF _
   & " packageObject.Language=" & packageObject.Language & CRLF _
   & " packageObject.Location=" & packageObject.Location & CRLF _
   & " packageObject.Name=" & packageObject.Name & CRLF _
   & " packageObject.Publisher=" & packageObject.Publisher & CRLF _
   & " packageObject.PackageSourceType=" & packageObject.PackageSourceType & CRLF _
   & " packageObject.PackageType=" & packageObject.PackageType & CRLF _
   & " packageObject.Version=" & packageObject.Version & CRLF _
   & " packageObject.PurgeAfterDurationInMinutes=" & packageObject.PurgeAfterDurationInMinutes & CRLF _
   & " packageObject.SelectedPackageServers=" & packageObject.SelectedPackageServers & CRLF _
   & " packageObject.Guid=" & packageObject.Guid & CRLF _
   & " packageObject.ParentFolderGuid=" & packageObject.ParentFolderGuid & CRLF

strPackageServerList = packageObject.SelectedPackageServers
wscript.echo "Current List: " & strPackageServerList

strNewPackageServer = "5d07498b-952c-4097-a339-156a4c1c1388"

strNewPackageServerList = strPackageServerList & "," & strNewPackageServer
wscript.echo "New List: " & strNewPackageServerList

result = SetpackageExPackageServerOptions(strGuid,0,strNewPackageServerList)
'result = SetpackageExPackageServerOptions(strGuid,0,strNewPackageServer)

set packageObject = packageManagement.GetPackageExByGuid(strGuid)

''''''''''''''''''''''''''''''''''''''''
' Run through the package Object details
''''''''''''''''''''''''''''''''''''''''
   wscript.Echo "packageObject Item Details" & CRLF _
   & " packageObject.AgentDisplayDescription=" & packageObject.AgentDisplayDescription & CRLF _
   & " packageObject.AgentDisplayName=" & packageObject.AgentDisplayName & CRLF _
   & " packageObject.AlternateDownloadDestinationLocation=" & packageObject.AlternateDownloadDestinationLocation & CRLF _
   & " packageObject.Attributes=" & packageObject.Attributes & CRLF _
   & " packageObject.EnableVerboseEvents=" & packageObject.EnableVerboseEvents & CRLF _
   & " packageObject.Description=" & packageObject.Description & CRLF _
   & " packageObject.PackageDirectory=" & packageObject.PackageDirectory & CRLF _
   & " packageObject.Language=" & packageObject.Language & CRLF _
   & " packageObject.Location=" & packageObject.Location & CRLF _
   & " packageObject.Name=" & packageObject.Name & CRLF _
   & " packageObject.Publisher=" & packageObject.Publisher & CRLF _
   & " packageObject.PackageSourceType=" & packageObject.PackageSourceType & CRLF _
   & " packageObject.PackageType=" & packageObject.PackageType & CRLF _
   & " packageObject.Version=" & packageObject.Version & CRLF _
   & " packageObject.PurgeAfterDurationInMinutes=" & packageObject.PurgeAfterDurationInMinutes & CRLF _
   & " packageObject.SelectedPackageServers=" & packageObject.SelectedPackageServers & CRLF _
   & " packageObject.Guid=" & packageObject.Guid & CRLF _
   & " packageObject.ParentFolderGuid=" & packageObject.ParentFolderGuid & CRLF

OUTPUT:

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

packageObject Item Details
 packageObject.AgentDisplayDescription=
 packageObject.AgentDisplayName=
 packageObject.AlternateDownloadDestinationLocation=
 packageObject.Attributes=Normal
 packageObject.EnableVerboseEvents=False
 packageObject.Description=
 packageObject.PackageDirectory=
 packageObject.Language=
 packageObject.Location=e:\gold\tools
 packageObject.Name=_test package
 packageObject.Publisher=
 packageObject.PackageSourceType=Local
 packageObject.PackageType=Win32
 packageObject.Version=1.0
 packageObject.PurgeAfterDurationInMinutes=10080
 packageObject.SelectedPackageServers=f1091268-aec4-4bb4-8352-ad905b88d896
 packageObject.Guid=bff09bbe-cb89-44d1-ab2a-6eafa657dd44
 packageObject.ParentFolderGuid=18aa08d8-c2eb-4407-a7e6-f3ad9946d0db

Current List: f1091268-aec4-4bb4-8352-ad905b88d896
New List: f1091268-aec4-4bb4-8352-ad905b88d896,5d07498b-952c-4097-a339-156a4c1c1388

Then I get this error:

E:\hold\package.vbs(49, 1) Microsoft VBScript runtime error: Type mismatch: 'SetpackageExPackageServerOptions'

So it authenticates fine, shows the data I want and then fails when I attempt to modify it.

Any other ideas?

Matt

KSchroeder's picture

I have to go back to my original post; you're calling the function like this:

result = SetpackageExPackageServerOptions(strGuid,0,strNewPackageServerList)

Since SetPackageExPackageServerOptions isn't a built-in function in VBScript/WSH, you need to provide the object name first, i.e.:

result = packageManagement.SetpackageExPackageServerOptions(strGuid,0,strNewPackageServerList)

See what I mean?  Just like when you call :
 

set packageObject = packageManagement.GetPackageExByGuid(strGuid)

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

Matt S's picture

I still can't make this work.  I am getting the following output from my script(I will paste the script after the output...I did modify my script to make it easier to follow):

E:\hold>cscript package.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

***Calling Sub to Display Package Info***
packageObject Item Details
 packageObject.AgentDisplayDescription=
 packageObject.AgentDisplayName=
 packageObject.AlternateDownloadDestinationLocation=
 packageObject.Attributes=Normal
 packageObject.EnableVerboseEvents=False
 packageObject.Description=
 packageObject.PackageDirectory=
 packageObject.Language=
 packageObject.Location=e:\gold\tools
 packageObject.Name=_test package
 packageObject.Publisher=
 packageObject.PackageSourceType=Local
 packageObject.PackageType=Win32
 packageObject.Version=1.0
 packageObject.PurgeAfterDurationInMinutes=10080
 packageObject.SelectedPackageServers=f1091268-aec4-4bb4-8352-ad905b88d896
 packageObject.Guid=bff09bbe-cb89-44d1-ab2a-6eafa657dd44
 packageObject.ParentFolderGuid=18aa08d8-c2eb-4407-a7e6-f3ad9946d0db

***Calling Sub to get Package Server list***
Current List: f1091268-aec4-4bb4-8352-ad905b88d896
New List: f1091268-aec4-4bb4-8352-ad905b88d896,5d07498b-952c-4097-a339-156a4c1c1
388
***Calling Function to modify package server list***
E:\hold\package.vbs(44, 5) Microsoft VBScript runtime error: Invalid procedure c
all or argument: 'PackageManagement.SetPackageExPackageServerOptions'

SCRIPT:
'vbscript function the add a package server to the list of package servers for a package
option explicit
Dim strGuid
Dim strPackageServerList,strNewPackageServer,strNewPackageServerList
Dim result

strGuid = "bff09bbe-cb89-44d1-ab2a-6eafa657dd44"

'Call sub to display object info for strGuid
wscript.echo "***Calling Sub to Display Package Info***"
DisplayObjectInfo(strGuid)

'call function to get current package server list from object
wscript.echo "***Calling Sub to get Package Server list***"
strPackageServerList =  GetCurrentPackageServerlist(strGuid)
wscript.echo "Current List: " & strPackageServerList

'package server to add to list - this will be changed to another sub at a later point
strNewPackageServer = "5d07498b-952c-4097-a339-156a4c1c1388"

'add the new package server to the comma seperated string of package servers to make the new list
strNewPackageServerList = strPackageServerList & "," & strNewPackageServer
wscript.echo "New List: " & strNewPackageServerList

'call function to set new package server list
wscript.echo "***Calling Function to modify package server list***"
result = ModifyPackageServerList(strGuid,strNewPackageServerList)
wscript.echo "Result of Function to modify package server list:" & result

'display the object info for strGuid again
wscript.echo "***Calling Sub to Display Package Info***"
DisplayObjectInfo(strGuid)
wscript.echo "Current List: " & strPackageServerList

Function ModifyPackageServerList(strGuid,strNewPackageServerList)
    'Function to modify the package server list for package 'strguid'
    Dim  PackageManagement
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    'write the new list to the package
    ModifyPackageServerList = PackageManagement.SetPackageExPackageServerOptions(strGuid, false, strNewPackageServerList)
End Function

Function GetCurrentPackageServerList(strGuid)
    'get the current package server list for the package with the provided guid and return it.
    Dim PackageObject,PackageManagement
   
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    set packageObject = packageManagement.GetPackageExbyGuid(strGuid)
    GetCurrentPackageServerList = packageObject.SelectedPackageServers
End Function

sub DisplayObjectInfo(strGuid)
    Dim CRLF,PackageObject,PackageManagement
    CRLF = CHR( 13 ) & CHR( 10 ) 'Carrage Return Line Feed
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    'Display all infor for package with guid strguid
    set packageObject = packageManagement.GetPackageExByGuid(strGuid)

    ''''''''''''''''''''''''''''''''''''''''
    ' Run through the package Object details
    ''''''''''''''''''''''''''''''''''''''''
   wscript.Echo "packageObject Item Details" & CRLF _
   & " packageObject.AgentDisplayDescription=" & packageObject.AgentDisplayDescription & CRLF _
   & " packageObject.AgentDisplayName=" & packageObject.AgentDisplayName & CRLF _
   & " packageObject.AlternateDownloadDestinationLocation=" & packageObject.AlternateDownloadDestinationLocation & CRLF _
   & " packageObject.Attributes=" & packageObject.Attributes & CRLF _
   & " packageObject.EnableVerboseEvents=" & packageObject.EnableVerboseEvents & CRLF _
   & " packageObject.Description=" & packageObject.Description & CRLF _
   & " packageObject.PackageDirectory=" & packageObject.PackageDirectory & CRLF _
   & " packageObject.Language=" & packageObject.Language & CRLF _
   & " packageObject.Location=" & packageObject.Location & CRLF _
   & " packageObject.Name=" & packageObject.Name & CRLF _
   & " packageObject.Publisher=" & packageObject.Publisher & CRLF _
   & " packageObject.PackageSourceType=" & packageObject.PackageSourceType & CRLF _
   & " packageObject.PackageType=" & packageObject.PackageType & CRLF _
   & " packageObject.Version=" & packageObject.Version & CRLF _
   & " packageObject.PurgeAfterDurationInMinutes=" & packageObject.PurgeAfterDurationInMinutes & CRLF _
   & " packageObject.SelectedPackageServers=" & packageObject.SelectedPackageServers & CRLF _
   & " packageObject.Guid=" & packageObject.Guid & CRLF _
   & " packageObject.ParentFolderGuid=" & packageObject.ParentFolderGuid & CRLF

End Sub

TheSmiz's picture

Looks to me like you are leaving out the location on the package server:
This:
ModifyPackageServerList = PackageManagement.SetPackageExPackageServerOptions(strGuid, false, strNewPackageServerList)

Should be something like this:
ModifyPackageServerList = PackageManagement.SetPackageExPackageServerOptions(strGuid,false,strNewPackageServerList, "C:\Program Files\Altiris\Altiris Agent\Package Server Agent")

From the help doc of the ASDK:
public bool SetPackageExPackageServerOptions(
   string sPackageGuid,
   bool bAllOrSpecificPackageServers,
   string sPackageServerGuids,
   string sLocationOnPackageServer
);

In the past, I have also specified my ServerString as an array string and passed it in instead of a comma separated list

SOLUTION
KSchroeder's picture

Yeah I saw that in the SDK docs, but it wasn't clear on whether it was a required parameter or not...apparently it is!  I guess you could just pass an empty string "" to make it use the default destination (Altiris Agent\Package Delivery\{GUID}\cache).

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.

Matt S's picture

Awesome, works great.  I added a function to grab the current package directory and then write it back in the method.  I had  assumed that was not required...that will teach me.  Here is the final product in case someone else likes this idea.  I will be making it into a script that prompts for package server name and then adds that package server's guid to the list of package servers that contain the package!

Thanks again, I do appreciate it!

Matt

OUTPUT:

E:\hold>cscript package.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

***Calling Sub to Display Package Info***
packageObject Item Details
 packageObject.AgentDisplayDescription=
 packageObject.AgentDisplayName=
 packageObject.AlternateDownloadDestinationLocation=
 packageObject.Attributes=Normal
 packageObject.EnableVerboseEvents=False
 packageObject.Description=
 packageObject.PackageDirectory=
 packageObject.Language=
 packageObject.Location=e:\gold\tools
 packageObject.Name=_test package
 packageObject.Publisher=
 packageObject.PackageSourceType=Local
 packageObject.PackageType=Win32
 packageObject.Version=1.0
 packageObject.PurgeAfterDurationInMinutes=10080
 packageObject.SelectedPackageServers=5d07498b-952c-4097-a339-156a4c1c1388,f1091
268-aec4-4bb4-8352-ad905b88d896
 packageObject.Guid=bff09bbe-cb89-44d1-ab2a-6eafa657dd44
 packageObject.ParentFolderGuid=18aa08d8-c2eb-4407-a7e6-f3ad9946d0db

***Calling Sub to get Package Server list***
Current List: 5d07498b-952c-4097-a339-156a4c1c1388,f1091268-aec4-4bb4-8352-ad905
b88d896
New List: 5d07498b-952c-4097-a339-156a4c1c1388,f1091268-aec4-4bb4-8352-ad905b88d
896,5d07498b-952c-4097-a339-156a4c1c1388

***Calling function to get the current package directory***
Current Package Directory:

***Calling Function to modify package server list***
Result of Function to modify package server list:True

***Calling Sub to Display Package Info***
packageObject Item Details
 packageObject.AgentDisplayDescription=
 packageObject.AgentDisplayName=
 packageObject.AlternateDownloadDestinationLocation=
 packageObject.Attributes=Normal
 packageObject.EnableVerboseEvents=False
 packageObject.Description=
 packageObject.PackageDirectory=
 packageObject.Language=
 packageObject.Location=e:\gold\tools
 packageObject.Name=_test package
 packageObject.Publisher=
 packageObject.PackageSourceType=Local
 packageObject.PackageType=Win32
 packageObject.Version=1.0
 packageObject.PurgeAfterDurationInMinutes=10080
 packageObject.SelectedPackageServers=5d07498b-952c-4097-a339-156a4c1c1388,f1091
268-aec4-4bb4-8352-ad905b88d896
 packageObject.Guid=bff09bbe-cb89-44d1-ab2a-6eafa657dd44
 packageObject.ParentFolderGuid=18aa08d8-c2eb-4407-a7e6-f3ad9946d0db

Current List: 5d07498b-952c-4097-a339-156a4c1c1388,f1091268-aec4-4bb4-8352-ad905
b88d896

E:\hold>

SCRIPT:

'vbscript function the add a package server to the list of package servers for a package
option explicit
Dim strGuid
Dim strPackageServerList,strNewPackageServer,strNewPackageServerList
Dim result
Dim strPackageDirectory

strGuid = "bff09bbe-cb89-44d1-ab2a-6eafa657dd44"

'Call sub to display object info for strGuid
wscript.echo "***Calling Sub to Display Package Info***"
DisplayObjectInfo(strGuid)

wscript.echo ""

'call function to get current package server list from object
wscript.echo "***Calling Sub to get Package Server list***"
strPackageServerList =  GetCurrentPackageServerlist(strGuid)
wscript.echo "Current List: " & strPackageServerList

'package server to add to list - this will be changed to another sub at a later point
strNewPackageServer = "5d07498b-952c-4097-a339-156a4c1c1388"

'add the new package server to the comma seperated string of package servers to make the new list
strNewPackageServerList = strPackageServerList & "," & strNewPackageServer
wscript.echo "New List: " & strNewPackageServerList

wscript.echo ""

'call function to get the current package directory
wscript.echo "***Calling function to get the current package directory***"
strPackageDirectory = GetCurrentPackageDirectory(strGuid)
wscript.echo "Current Package Directory: " & strPackageDirectory

wscript.echo ""

'call function to set new package server list
wscript.echo "***Calling Function to modify package server list***"
result = ModifyPackageServerList(strGuid,strNewPackageServerList,strPackageDirectory)
wscript.echo "Result of Function to modify package server list:" & result

wscript.echo ""

'display the object info for strGuid again
wscript.echo "***Calling Sub to Display Package Info***"
DisplayObjectInfo(strGuid)
wscript.echo "Current List: " & strPackageServerList

Function ModifyPackageServerList(strGuid,strNewPackageServerList,strPackageDirectory)
    'Function to modify the package server list for package 'strguid'
    Dim  PackageManagement
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    'write the new list to the package
    ModifyPackageServerList = PackageManagement.SetPackageExPackageServerOptions(strGuid, false, strNewPackageServerList, strPackageDirectory)
End Function

Function GetCurrentPackageServerList(strGuid)
    'get the current package server list for the package with the provided guid and return it.
    Dim PackageObject,PackageManagement
   
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    set packageObject = packageManagement.GetPackageExbyGuid(strGuid)
    GetCurrentPackageServerList = packageObject.SelectedPackageServers
End Function

Function GetCurrentPackageDirectory(strGuid)
'Get current Package directory
    Dim PackageObject,PackageManagement
   
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    set packageObject = packageManagement.GetPackageExbyGuid(strGuid)
    GetCurrentPackageDirectory = PackageObject.PackageDirectory
End Function

sub DisplayObjectInfo(strGuid)
    Dim CRLF,PackageObject,PackageManagement
    CRLF = CHR( 13 ) & CHR( 10 ) 'Carrage Return Line Feed
    set packageManagement = CreateObject("Altiris.ASDK.NS.SoftwareDelivery.SWDSolnPackageManagementLib")
    packageManagement.TargetServer = "localhost"
    packageManagement.Authenticate()

    'Display all infor for package with guid strguid
    set packageObject = packageManagement.GetPackageExByGuid(strGuid)

    ''''''''''''''''''''''''''''''''''''''''
    ' Run through the package Object details
    ''''''''''''''''''''''''''''''''''''''''
   wscript.Echo "packageObject Item Details" & CRLF _
   & " packageObject.AgentDisplayDescription=" & packageObject.AgentDisplayDescription & CRLF _
   & " packageObject.AgentDisplayName=" & packageObject.AgentDisplayName & CRLF _
   & " packageObject.AlternateDownloadDestinationLocation=" & packageObject.AlternateDownloadDestinationLocation & CRLF _
   & " packageObject.Attributes=" & packageObject.Attributes & CRLF _
   & " packageObject.EnableVerboseEvents=" & packageObject.EnableVerboseEvents & CRLF _
   & " packageObject.Description=" & packageObject.Description & CRLF _
   & " packageObject.PackageDirectory=" & packageObject.PackageDirectory & CRLF _
   & " packageObject.Language=" & packageObject.Language & CRLF _
   & " packageObject.Location=" & packageObject.Location & CRLF _
   & " packageObject.Name=" & packageObject.Name & CRLF _
   & " packageObject.Publisher=" & packageObject.Publisher & CRLF _
   & " packageObject.PackageSourceType=" & packageObject.PackageSourceType & CRLF _
   & " packageObject.PackageType=" & packageObject.PackageType & CRLF _
   & " packageObject.Version=" & packageObject.Version & CRLF _
   & " packageObject.PurgeAfterDurationInMinutes=" & packageObject.PurgeAfterDurationInMinutes & CRLF _
   & " packageObject.SelectedPackageServers=" & packageObject.SelectedPackageServers & CRLF _
   & " packageObject.Guid=" & packageObject.Guid & CRLF _
   & " packageObject.ParentFolderGuid=" & packageObject.ParentFolderGuid & CRLF

End Sub

jharings's picture

Matt,
 Just a suggestion, when you finalize it, I would make this a download so the idea doesn't get lost in the general clutter of the discussions.

Jim

Jim Harings
HP Enterprise Services
1st Rule of Connect Club: Mark the post that helped you the most as a 'solution'. 2nd Rule of Connect Club:You must talk about Connect club.