Publish App-V applications to XenApp servers remotely using PowerShell

Hi
We have a XenApp/App-V 5 environment in which our applications are published globally from a content share by way of a startup PowerShell script. The XenApp servers are scheduled to reboot every other night to keep the PVS image clean and all is working
well.
Apart from when we have a scenario where we need to rush out an application update etc at short notice. Because half the servers reboot one night then the other half the next, ordinarily we have to wait two days after placing an updated app in the content
share to ensure it's published on all the production servers.
To try and avoid forcibly restarting servers out of sequence, or manually publishing apps on lots of servers, I was hoping to create a PowerShell script to allow us to publish an application remotely when needed and came up with this:
$s = New-PSSession -ComputerName (Get-Content "Servers.txt")
Invoke-Command -Session $s -ScriptBlock {
    Add-AppvClientPackage "\\appvcontent\Apps\Application.appv" | Publish-AppvClientPackage -global
$s | Remove-PSSession
I've enabled Windows Remote Management on the servers and while I can run other PowerShell commands in the scriptblock fine, when I enter the App-V publishing command I get:
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    + CategoryInfo          : NotSpecified: (:) [Add-AppvClientPackage], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.AppV.AppvClientPowerShell.AddAppvPackage
    + PSComputerName        : <computername>
Has anyone come across a similar scenario or can anybody suggest why I'm getting the access denied error? I'm running the script with an account that has admin permissions on the target server. I've tried moving the appv package locally
on the target server but still get the same error.
Thanks

Add-AppvClientPackage requires admin privileges on the machine, so you should verify that the remote command is really executed with the right permissions. Does the remote call work in general (like try to create a file in the (remote) user profile)
Falko
Twitter
@kirk_tn   |   Blog
kirxblog   |   Web
kirx.org   |   Fireside
appvbook.com
Hi Falko
The remote call definitely works correctly with full admin privileges. I've just removed the AppV publish command and replaced it with a command to create a txt file in the local administrator profile on the target server and it works perfectly. It's just
the AppV publish command that doesn't work.
I'm looking in Event Viewer to see if I can find any further detail but can't spot anything.
Thanks

Similar Messages

  • Running a non mandatory program from remote using powershell without a logged in user

    Hi all,
    is there a way to execute a non mandatory program (a task sequence in my case) from remote using powershell
    without a logged in user on the target system?
    I have the following code: 
    $ProgramObject = Get-WmiObject -Class CCM_Program -Namespace "root\ccm\clientsdk" -ComputerName $ComputerItem | Where-Object { $_.Name -match "$ProgramName" }
    Invoke-WmiMethod -class CCM_ProgramsManager -Namespace "root\ccm\clientsdk" -Name ExecutePrograms -argumentlist $ProgramObject -ComputerName $ComputerItem | Out-Null
    Works like charm, but only with a user logged in on the target system what is not a good solution for me. 
    I saw some other ways on the internet but these only work when the program is mandatory.
    Is there a way to archive what I need ? 
    thanks 

    Hi,
    If you deploy the program as a available deployment, there need a user to run the program. Otherwise, the program will never run. This is contradicted with your requirement(run the program at log off).
    So I concur with Peter.
    Best Regards,
    Joyce
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Changing Computer Descriptions Remotely using Powershell

    Hello,
    I am the Network Admin for a small college that has a little over 300 computers. I want to be able to use PowerShell to change the computer descriptions on those machines from my desk. I have PowerShell 3.0 installed on my system. I am new to PowerShell
    so I could use some step by step instructions on what to do.
    For instance:
    I have a computer in my network that has a Computer Name of "19XP9175" and a description of "Optiplex 320 - Doreen Lane".
    I would like to change the description to read "O320-Doreen lane"  from my system using PowerShell 3.0.
    Can you give me some pointers on how to do this?
    Thanks
    Daryl

    This may not help with Powershell side of things, but we had a similar issue where we needed to change 100's of remote computer descriptions, so we created this tool:
    <snip>
    It allows you to local or remote connect to a computer on a network (run it with admin rights!) and gather and change the description immediately without requirement for reboot etc. 
    Hope it helps.
    <snip>
    So why are you bumping an old, answered thread in a PowerShell forum then? I get that you want to advertise your product, but at least keep on topic.
    Don't retire TechNet! -
    (Don't give up yet - 12,700+ strong and growing)

  • Removing App-V Applications when the User/Machine is no longer a member of part of an AD group

    Hi All,
    We currently use SCCM 2012 R2 Applications (not Packages) to deploy App-V application to users.  We use AD Security Groups for users who are to receive the relevant App-V apps.
    However what I am getting stuck on is the removal of the application when the user is no longer a member of the security group.
    I have followed the details in the blog listed below, however I running into a major issue when testing:
    http://blogs.technet.com/b/configmgrdogs/archive/2014/11/03/managing-app-v-deployments-in-configmgr-2012.aspx
    Whilst for the main part it works, the main issue is that if another user of the same application logs into the original users' machine, the app gets pulled down again. When the original
    user logs back in, although they will have no capability to launch the application (as no icons appear to be presented to the original user), the app will be back in the cache.  No
    good if a 3rd party licensing tool is producing licensing reports are based on the app existing within the client cache.
    The point/question I am trying to get to.............. is it possible to have the uninstall application (not package) deployment re-run everytime the SCCM client polls so that re-installed applications via A N Other user are removed again based on the
    above scenario?
    Cheers
    Andy

    Andy,
    Try out the following http://sccmentor.wordpress.com/2013/11/15/creating-a-user-collection-based-on-users-not-in-a-ad-user-group/
    Select SMS_R_USER.ResourceID,SMS_R_USER.ResourceType,SMS_R_USER.Name,SMS_R_USER.UniqueUserName,SMS_R_USER.WindowsNTDomain  from SMS_R_User where SMS_R_User.ResourceID not in (select SMS_R_USER.ResourceID from SMS_R_User where SMS_R_User.UserGroupName
    like “<Domain>\\<AD Group>”)
    This just checks AD membership and unpublishes if not a member of the AD group. It's not the nicest of methods as will run for every user if not a member of the group - but may get round your issue.
    Cheers
    Paul | sccmentor.wordpress.com

  • How to set IPaddress to a VM which has Linux OS using powershell remoting.

    I have downloaded the SetLinuxVM scripts for setting the ipaddress of virtual machine which has Linux as OS. I have 2 different Hyperv host machines for Eg: HostServer1 and HostServer2  and I have installed SetLinuxVM scripts on server HostServer1 but
    my LinuxVM is created in HostServer2 and is highly available.
    Now I have development server from where I connect to any of these HyperV servers remotely .
    I have created powershell remote session from my development server to HostServer1 where SetLinuxVM scripts are installed and excuting the script as given below.
    Set-LinuxVM -VMName "TestLinuxVM" -Manager "Hyper-V" -VMHost "HostServer2"
    -Username "root" -Password "Gen#123" -Hostname "TestLinuxSrv " -IPAddress "192.168.2.2" -SubnetMask "255.255.0.0" -GatewayAddress "192.168.2.1" -PrimaryDNSAddress "8.8.8.8" 
    Even though I am providing the -VMHost and even if the VM is in cluster its not executing the scripts and I am getting the error  WMI not available.
    Its working fine if the scripts are installed on HostServer2 where the LinuxVM is created but my question is that do we need to install the scripts on all HyperV hosts then whats the use of the above parameter -VMHost "HostServer2"  because if
    the hyperv host is remotely connected using powershell we need to provide the VMHost name in the above scripts.
    From the examples provided in the SetLinuxVM module my understanding is that if the SetLinuxVM module is installed in any of the Hyperv servers which  are in a cluster and even though the VM is created in any of the servers and is highly available by just
    providing the VMHost for that particular VM we can set the IPadress ,hostname etc by connecting remotely using powershell to the HostServer which has SetLinuxVM module by providing the VMHost name in the above script .
     Hoping that my problem will be resolved at your earliest convenience.
    Thanks in advance,
    Fayaz Syed.
    FayazSyed

    I am not familiar with these scripts, but in general any modules must exist on the target Hyper-V server.
    The commands do not appear to be suing SCVMM, in which case you would execute the PowerShell script at the VMM console machine.
    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

  • App-V PowerShell: Script to Query XenApp Servers for App-V Publishing Errors and Output an Excel Document with the Results

    Please Vote if you find this to be helpful!
    App-V PowerShell:  Script to Query XenApp Servers for App-V Publishing Errors and Output an Excel Document with the Results
    Just posted this to the wiki:
    http://social.technet.microsoft.com/wiki/contents/articles/25323.app-v-powershell-script-to-query-xenapp-servers-for-app-v-publishing-errors-and-output-an-excel-document-with-the-results.aspx

    Hi petro_jemes,
    Just a little claritification, you need to add the value to the variable "[string]$ou", and also change the language in the variable "$emailbody" in the function "Get-ADUserPasswordExpirationDate".
    I hope this helps.

  • Connecting to Remote Desktop Published Apps through RD Web Access not working

    Hello,
    I have configured an RD Gateway server. My scenario is like I have a windows 2012R2 server with all RD components (Gateway, web access, connection broker, session host) configured, since this is for a poc. Externally I can access rd web access portal (https://<servername.domain.com>/rdweb)
    and can connect to the target server using "Connect to a remote pc" tab without any issue.
    But I can't connect to any published app from "Remote App and Desktop". The error I recieve is "unable to connect to remote pc. please provide the fully-qualified name......."
    At the same time I can see below errors in event logs related to connection broker:
    Error 802: 
    RD Connection Broker failed to process the connection request for user domain\Administrator. 
    Error: Element not found. 
    Event 1306:
    Remote Desktop Connection Broker Client failed to redirect the user domain\Administrator. 
    Error: NULL
    Error 1296:
    Remote Desktop Connection Broker Client failed while getting redirection packet from Connection Broker.
    User : domain\Administrator 
    Error: Element not found. 
    Googling I could see some posts related to these issues, mentioning about to check the network connectivity between RDCB and the target server. I can defenitely say it is fine and already mentioned I can connect to the same server using "connect to
    remote pc" tab.
    Just FYI, I have this server as Amazon EC2 instance and the domain is configured as Amazon directory service. Can someone please help me at the earliest.. This is pretty urgent as my tasks are pending due to this issue.. 
    Vysakh

    Hi,
    I have seen similar issues with Essential role installed, if it’s installed on the terminal server, please remove it.
    Please also ensure involved machines are fully patched and keep port 443 of the TS server open.
    When external users connect to the Web Access page, are they able to see remote apps? If not, please check whether user assignment setting is configured correctly for remote apps.
    Are users able to open remote apps from internal network?
    Here are some related links below for you:
    RDWeb URL Access Works Successful but cannot open Apps Externally only Internally
    https://social.technet.microsoft.com/Forums/en-US/144a0543-7a7c-4899-a674-0fd29dacab7a/rdweb-url-access-works-successful-but-cannot-open-apps-externally-only-internally?forum=winserverTS
    RemoteApp Internet
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/70a819de-3338-4427-a1c3-e38ef99dd4b3/remoteapp-internet?forum=winserverTS
    Configuring RD web access for public/external access
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/4396d3e9-2ac5-4d0b-baba-25471498a349/configuring-rd-web-access-for-publicexternal-access?forum=winserverTS
    Best Regards,
    Amy
    Please remember to mark the replies as answers if they help and un-mark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • Multiple monitors - P6 PRO application is a published app through Citrix.

    We require the ability to spread the  P6 Pro client application across multiple monitors.  This is no issue for a local P6 client install but CSX is a Citrix shop with P6 pro published as an application through Citrix, not locally.  Our current Citrix configuration doesn't allow for maximizing BOTH monitors, only 1 monitor will work. 
    Please see attached screenshot.
    Is there a way to have P6 PRO work using 2 monitors as a Citrix deployed application ?

    Out of the box the palm is able to sync to two software packages Palm Desktop and Microsoft Outlook.
    Using Outlook you can set up multiple palm profiles that can sync to the same Outlook profile and have the Outlook profile controlled by the server, this way you can add data to the server and it will port over to Outlook.
    Outlook would be set up normally "set up to connect to a server" and then when the palm desktop is installed and set to sync to Outlook all the Palm profiles will sync the Outlook data.
    As far as network syncing it is just another way to get to the same data as apposed to using the direct cable method.
    Post relates to: Treo 650 (Verizon)

  • App-V integration in XenApp

    Hello experts,
    since I can't really find what I'm looking for, I'm trying my luck here.
    From all Tutorials and howtos I've found covering the integration of App-V into Citrix XenApp, never once have I read that it is nessecary to import the adml gpo templates and configure the App-V Client on the terminal server this way. The way I have understood
    it until now, is that using the remote desktop app-v client, XenApp will configure the client through the integration kit. 
    But this is not happening on my test server. I have a App-V 5.0 SP1 environment with a Management Server and a Publishing Server. The Publishing Server is configured in the XenApp integration kit. But there are no applications showing up. I know this is
    partially a Citrix topic, but I'm interested in the App-V components here.
    So the question is - do I need to configure the Remote Desktop App-V Client using the ADML templates or not?
    Best Regards,
    Fred

    What version of XenApp are you talking about?
    Falko
    Twitter
    @kirk_tn   |   Blog
    kirxblog   |   Web
    kirx.org   |   Fireside
    appvbook.com

  • Publishing my flex application in external server (Channel.Security.Error error Error #2048)

    when i publish my flex application in an external server i get that error if my flash builder beta 2 is closed in my system , i did configure an endpoint to the dataservice to point to the external server and if i run my flash builder and any body browser the site it open and they can access the data from my application but if i close my flash builder we have this error all of us
    Send failed
    Channel.Security.Error error Error #2048: Security sandbox violation:
    http://www.dcecrak.com/Maine.swf cannot load data from
    http://localhost:37813/flex2gateway/?hostport=www.dcecrak.com&https=N&id=-1. url:
    'http://www.dcecrak.com/flex2gateway/'
    i created a crossdomain.xml file and put it in the web root , if i try to open the link http://www.dcecrak.com/flex2gateway  it open with blank page this means that every thing is oky , my service-config file looks like that :
    <?xml version="1.0" encoding="UTF-8"?>
    <services-config>
        <services>
            <service-include file-path="remoting-config.xml" />
            <service-include file-path="proxy-config.xml" />
            <service-include file-path="messaging-config.xml" />
        </services>
        <security>
            <login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
            <!-- Uncomment the correct app server
            <login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
            <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
            <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
            -->
            <!--
            <security-constraint id="basic-read-access">
                <auth-method>Basic</auth-method>
                <roles>
                    <role>guests</role>
                    <role>accountants</role>
                    <role>employees</role>
                    <role>managers</role>
                </roles>
            </security-constraint>
            -->
        </security>
        <channels>
            <!--  CF Based Endpoints -->
    <channel-definition id="dcecrak" class="mx.messaging.channels.AMFChannel">
                <endpoint uri="http://www.dcecrak.com/flex2gateway/" class="coldfusion.flash.messaging.CFAMFEndPoint"/>
                <properties>
                      <add-no-cache-headers>false</add-no-cache-headers>
                            <polling-interval-seconds>8</polling-interval-seconds>
                            <serialization>
                                  <enable-small-messages>false</enable-small-messages>
                            </serialization>
                            <coldfusion>
                                <!-- define the resolution rules and access level of the cfc being invoked -->
                                  <access>
                                        <!-- Use the ColdFusion mappings to find CFCs-->
                                        <use-mappings>true</use-mappings>
                                        <!-- allow "public and remote" or just "remote" methods to be invoked -->
                                        <method-access-level>remote</method-access-level>
                                  </access>
                                  <!-- Whether the Value Object CFC has getters and setters. Set the value of use-accessors to true if there are getters and setters in the Value Object CFC. -->
                                  <use-accessors>true</use-accessors>
                                  <!--Set the value of use-structs to true if you don't require any translation of ActionScript to CFCs. The assembler can still return structures to Flex, even if the value is false. The default value is false.-->
                                  <use-structs>false</use-structs>
                        <property-case>
                            <!-- cfc property names -->
                            <force-cfc-lowercase>false</force-cfc-lowercase>
                            <!-- Query column names -->
                            <force-query-lowercase>false</force-query-lowercase>
                            <!-- struct keys -->
                            <force-struct-lowercase>false</force-struct-lowercase>
                        </property-case>
                            </coldfusion>
                </properties>
            </channel-definition>
            <channel-definition id="cf-polling-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/cfamfpolling" class="coldfusion.flash.messaging.CFAMFEndPoint"/>
                <properties>
                    <polling-enabled>true</polling-enabled>
                    <polling-interval-seconds>8</polling-interval-seconds>
                            <serialization>
                                  <enable-small-messages>false</enable-small-messages>
                            </serialization>
                            <coldfusion>
                                <!-- define the resolution rules and access level of the cfc being invoked -->
                                  <access>
                                        <!-- Use the ColdFusion mappings to find CFCs-->
                                        <use-mappings>true</use-mappings>
                                        <!-- allow "public and remote" or just "remote" methods to be invoked -->
                                        <method-access-level>remote</method-access-level>
                                  </access>
                                  <!-- Whether the Value Object CFC has getters and setters. Set the value of use-accessors to true if there are getters and setters in the Value Object CFC. -->
                                  <use-accessors>true</use-accessors>
                                  <!--Set the value of use-structs to true if you don't require any translation of ActionScript to CFCs. The assembler can still return structures to Flex, even if the value is false. The default value is false.-->
                                  <use-structs>false</use-structs>
                        <property-case>
                            <!-- cfc property names -->
                            <force-cfc-lowercase>false</force-cfc-lowercase>
                            <!-- Query column names -->
                            <force-query-lowercase>false</force-query-lowercase>
                            <!-- struct keys -->
                            <force-struct-lowercase>false</force-struct-lowercase>
                        </property-case>
                            </coldfusion>
                </properties>
            </channel-definition>
            <channel-definition id="my-cfamf-secure" class="mx.messaging.channels.SecureAMFChannel">
                <endpoint uri="https://{server.name}:{server.port}{context.root}/flex2gateway/cfamfsecure" class="coldfusion.flash.messaging.SecureCFAMFEndPoint"/>
                <properties>
                    <polling-enabled>false</polling-enabled>
                            <add-no-cache-headers>false</add-no-cache-headers>
                            <serialization>
                                  <enable-small-messages>false</enable-small-messages>
                            </serialization>
                            <coldfusion>
                                <!-- define the resolution rules and access level of the cfc being invoked -->
                                  <access>
                                        <!-- Use the ColdFusion mappings to find CFCs-->
                                        <use-mappings>true</use-mappings>
                                        <!-- allow "public and remote" or just "remote" methods to be invoked -->
                                        <method-access-level>remote</method-access-level>
                                  </access>
                                  <!-- Whether the Value Object CFC has getters and setters. Set the value of use-accessors to true if there are getters and setters in the Value Object CFC. -->
                                  <use-accessors>true</use-accessors>
                                  <!--Set the value of use-structs to true if you don't require any translation of ActionScript to CFCs. The assembler can still return structures to Flex, even if the value is false. The default value is false.-->
                                  <use-structs>false</use-structs>
                                  <property-case>
                            <!-- cfc property names -->
                            <force-cfc-lowercase>false</force-cfc-lowercase>
                            <!-- Query column names -->
                            <force-query-lowercase>false</force-query-lowercase>
                            <!-- struct keys -->
                            <force-struct-lowercase>false</force-struct-lowercase>
                        </property-case>
                            </coldfusion>
                </properties>
            </channel-definition>
            <!--  Java Based Endpoints -->
            <channel-definition id="java-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
            </channel-definition>
            <channel-definition id="java-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
                <endpoint uri="https://{server.name}:{server.port}{context.root}/flex2gateway/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
            </channel-definition>
            <channel-definition id="java-polling-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
                <properties>
                    <polling-enabled>true</polling-enabled>
                    <polling-interval-seconds>8</polling-interval-seconds>
                </properties>
            </channel-definition>
            <!--
            <channel-definition id="java-http" class="mx.messaging.channels.HTTPChannel">
                <endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
            </channel-definition>
            <channel-definition id="java-secure-http" class="mx.messaging.channels.SecureHTTPChannel">
                <endpoint uri="https://{server.name}:{server.port}{context.root}/flex2gateway/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
            </channel-definition>
            -->
        </channels>
        <logging>
            <target class="flex.messaging.log.ConsoleTarget" level="Error">
                <properties>
                    <prefix>[BlazeDS] </prefix>
                    <includeDate>false</includeDate>
                    <includeTime>false</includeTime>
                    <includeLevel>false</includeLevel>
                    <includeCategory>false</includeCategory>
                </properties>
                <filters>
                    <pattern>Endpoint.*</pattern>
                    <pattern>Service.*</pattern>
                    <pattern>Configuration</pattern>
                    <pattern>Message.*</pattern>
                </filters>
            </target>
        </logging>
        <system>
            <manageable>false</manageable>
            <!--
            <redeploy>
                <enabled>true</enabled>
                <watch-interval>20</watch-interval>
                <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
                <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
            </redeploy>
             -->
        </system>
    </services-config>
    and my crossdomain.xml looks like that :
    <cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="localhost" to-ports="*" secure="false"/>
    <allow-access-from domain="*" to-ports="*" secure="false"/>
    <allow-http-request-headers-from domain="*"/>
    </cross-domain-policy>
    really its strange only the site works if my flash builder is running , please help

      Thanks all for your attention, i have solved my problem and i think its a bug in the flash builder , the problem was that when you compile the application and you enabling Network Monitoring , the communication of the AMF channels done throw the  http://localhost:37813/flex2gateway/
    and that was the problem if you close the flash builder on your system that getaway dose not exist and on the hosted server there is no such address localhost by this port also so the client application witch is catch in you system try to access your localhost and that cause a security error and the address is also not exist .
    so the solution or we have to compile the project after we disable the Network Monitoring in flash builder .

  • Citrix Published Apps "folder" is missing

    Our last Network Admin got a new job elsewhere so I've assumed his old job. Part of it includes some Citrix ... something of which I know very very VERY little about. Traditionally, all of our users have a little folder on their Desktop titled "Published Apps Desktop" where all of our Citrix Published Apps appear and can be launched, etc...However, any new users I've setup or updated the receiver for no longer have this folder. I used the same script for silent installs the previous guy used (see below) and just updated the application install file:BatchfileN:\IT\CitrixReceiver.exe /silent ADDLOCAL="ReceiverInside,ICA_Client,SSON,USB,Desktopviewer,Flash,PN_Agent,Vd3d" SERVER_LOCATION="https://xenapp..com/Citrix/PNAgent/config.xml" ENABLE_SSON="yes"Where do I need to go to re-publish the Published Apps to everybody's desktops? Thanks!
    This topic first appeared in the Spiceworks Community

    If you are hyperlinking to a movie rather than dragging it onto the iWeb page, you need to upload the movie file to your server and link to this.
    Linking to the movie file on your server will play the movie full screen as shown in one of the options here....
    http://roddymckay.com/VisualMedia/FlashVideo.html
    The purpose of the "Link to: A file" function in the link inspector is to create a download link. In the case of a .mov, you would have to zip the file using Finder/File/Compress to achieve this.
    This is not the best way of linking to a download file as the file has to load with the web page. Its better to upload the zipped file to your server and link to it from the iWeb page using a text or image link.
    "I may receive some form of compensation, financial or otherwise, from my recommendation or link."

  • Publishing apps in HA RDSH farm

    I am planning to enable HA and LB with adding second RDSH.
    How apps are published in case of 2,3 ... 5 hosts.
    Is there a way for automatic publishing of the same app in HA and LB environment?
    Or the app should be published on each host manually?
    Thx.
    --- When you hit a wrong note its the next note that makes it good or bad. --- Miles Davis

    Hi,
    There are different approaches depending on what you are comfortable with and your needs.  For example, you could create a sysprepped template image with applications pre-installed that you use to create all of your RDSH servers with.  That
    way your RDSH servers are all the same, and when you need an additional server it is pretty easy to provision a new one.  This is the approach used with Azure RemoteApp.
    -TP

  • Publishing App Controller (2012 SP1) to Internet Located Users via TMG2010

    Hi All,
    I'm trying to publish a demo environment hosted on our internal App Controller via TMG, to some colleagues working from home via non domain joined PC's.
    I've configured a publishing rule on TMG 2010 that allows my remote user to login. They connect using a name like
    https://vmm.company.com and this all works fine. But if they try to initiate a connection to the Hyper-V Guest machines Console they get a DNS error
    Virtual Machine Manager failed to connect to the virtual machine because the hostname (xxx.yyy.com) could not be resolved by Domain Name System
    Looking at the URL although it is using the vmm.company.com, in the path xxx.internal.com is being used and this is the internal Hyper-V Host machines internal FQDN.
    So I thought i'd be clever and use link translation in the rule, so that the TMG replaces any traces of xxx.internal.com with vmm.company.com, now I don't get the DNS error any more but I get a socket error, asking me to check my firewall.
    Sure enough I check the logs in TMG and there are access denied entries on that port, coming from external to the TMG's perimeter IP address
    So I create an access rule to allow 2179 from external to the ip address, and a non web server publishing rule for the internal Hyper-v host listening on 2179, but I now get this error in the TMG logs, access is initially allowed
    A connection was abortively closed after one of the peers sent an RST packet
    the same Socket Error is received on the client.
    Anyone ever done anything like this, or have a clue what i'm doing wrong?
    Cheers
    Darren

    Hi Darren,
    To show the console of a virtual machine it is necessary to create a connection from the client computer to the Hyper-V server. An alternative to opening a port on your Hyper-V servers to the Internet is to publish App Controller as a RemoteApp. In this
    situation, colleagues working from home will connect to the Remote Desktop Gateway and App Controller will be running on the gateway. When a console connection is made the connection is then from the Gateway to the Hyper-V server.
    You could also consider the Remote Console feature in System Center 2012 R2
    http://technet.microsoft.com/en-us/library/dn469415.aspx. This feature is designed to allow console connections from clients that are outside of the corporate network.
    Kind Regards
    Richard
    This posting is provided "AS IS" with no warranties, and confers no rights.

  • Using powershell to deploy provider-hosted app and specify remote Url instead of using appinv.aspx page

    Hello all,
    Could you possibly help me with provider-hosted app development/deployment process.
    We developed SharePoint provider-hosted app that works just fine in development environment. Now we need to automate it's installation in test environment via powershell.
    In AppManifest.xml that we are deploying we have key instead of explicit URL:
    <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="ShowAllRoomsApp" ProductID="{922a18aa-5592-b59a-4da9-4791baef02e7}" Version="1.0.0.0"
    SharePointMinVersion="15.0.0.0">
      <Properties>
        <Title>SomeTitle</Title>
        <StartPage>~remoteAppUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
    If we use as
    https://technet.microsoft.com/en-us/library/jj655398.aspx recommends, we cannot specify Redirect Url as we can do this on
    /_layouts/appinv.aspx
    So now it seems like the only way to deploy this kind of solution is using appinv.aspx page.Or must we apply this URL in AppManifest on developing stage in Visual Studio?
    What did I miss?
    P. S. Even if I use /_layouts/appinv.aspx after powershell commandlets, I get error.

    hi,
    to deploy provider hosted app you need 2 things
    1. Client ID
    2. Redirect URL.
    What you can do you can generate app from visual studio using clientID and URL from developer enviornment.
    Now a app file is just a simple compressed zip file if you rename it as .zip and extract you will find AppManifest
    inside it. So to create an app for Testing enviornment what you have to to Get the CLient ID (from AppRegNew.aspx) in testing enviornment. Unzip .App file change the AppManifest with testing client ID and URL than again zip file and rename as .app.
    Now if you upload this file it will work.
    To automate this scenerio i have created a simple windows Application in which i Pass the Client ID and StartURl and an App File it unzips the app file make changes to app and again zip it.
    public static class AppPackageHelper
    public const string StartUrlExpression = "{0}?{1}";
    public const string StandardToken = "{StandardTokens}";
    public static string Publish(string appPath, string ClientId,string StartUrl)
    string tempDir = string.Empty;
    string outPutFile = string.Empty;
    try
    string parentDir = System.IO.Path.GetDirectoryName(appPath);
    outPutFile = System.IO.Path.Combine(parentDir, ClientId + "-Winshuttle.app");
    tempDir = System.IO.Path.Combine(parentDir, ClientId.ToString());
    Directory.CreateDirectory(tempDir);
    int lastInd = appPath.LastIndexOf('.');
    string tempPath = string.Empty;
    string targetFilePath = string.Empty;
    string cabPath = System.IO.Path.Combine(tempDir, System.IO.Path.GetFileNameWithoutExtension(appPath) + ".cab");
    FileInfo fInfo = new FileInfo(appPath) { IsReadOnly = false };
    File.Copy(appPath, cabPath);
    XDocument doc = null;
    string appManifest = string.Empty;
    using (ZipArchive zipArch = ZipFile.Open(cabPath, ZipArchiveMode.Update))
    appManifest = string.Format(@"{0}\AppManifest.xml", Directory.GetParent(cabPath).FullName);
    ZipArchiveEntry manifestEntry = zipArch.Entries.LastOrDefault(e => e.Name.ToLower() == "appmanifest.xml");
    manifestEntry.ExtractToFile(appManifest);
    doc = XDocument.Load(appManifest);
    XNamespace ns = doc.Root.GetDefaultNamespace();
    string defaultUrl = string.Format(StartUrlExpression, StartUrl.TrimEnd('/'), StandardToken);
    doc.Descendants(XName.Get("StartPage", ns.NamespaceName)).First().Value = defaultUrl;
    doc.Descendants(XName.Get("RemoteWebApplication", ns.NamespaceName)).First().Attribute(XName.Get("ClientId")).Value = setupInfo.ClientId.ToString();
    doc.Save(appManifest);
    if (manifestEntry != null)
    manifestEntry.Delete();
    zipArch.CreateEntryFromFile(appManifest, "AppManifest.xml");
    int totEnt = zipArch.Entries.Count;
    for (int e = 0; e < totEnt; e++)
    if (zipArch.Entries[e].Open().Length == 0)
    //if (zipArch.Entries.Count > totEnt && e >= totEnt) break;
    //zipArch.CreateEntry(zipArch.Entries[e].FullName);
    File.Delete(appManifest);
    if (File.Exists(outPutFile))
    File.Delete(outPutFile);
    File.Move(cabPath, outPutFile);
    return outPutFile;
    catch
    throw;
    finally
    if (System.IO.Directory.Exists(tempDir))
    System.IO.Directory.Delete(tempDir, true);
    return outPutFile;
    using System.IO.Compression.FileSystem.dll.
    Also if you want to do it using powershell You need to do the same thing unzip-> changes values-> zip
    So basic thing is You need to ahve only valid AppManifest file which contains 2 valid values Client Id and StartUrl
    if you changes it inside appmanifest manuall than it will also work. Using above code you can create a console Application to do it. You can use powershell it just that i dont know how to zip unzip in powershell but i am pretty sure you can easily find it
    on searching.
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • I'm using a Mac. After swithcing to ICloud will I be able to use IWeb to upload and publish my sites hosted by other servers like Prohosting ?

    I'm using a Mac. After swithcing to ICloud will I be able to use IWeb to upload and publish my sites hosted by other servers like Prohosting ?

    iWeb has two other ways to publish your site...
    http://www.iwebformusicians.com/iWeb/Publish-Website.html
    ... and the second method allows you a choice of how you upload the files...
    http://www.iwebformusicians.com/iWeb/URLs-Favicons.html
    Here's a publishing workflow checklist...
    http://www.iwebformusicians.com/Search-Engine-Optimization/Website-Publishing-Wo rkflow.html
    The MobileMe only features can be replaced by alternatives...
    http://www.iwebformusicians.com/iWeb/Comments-Password-Protect.html
    If you have folders of assets outside of the main website folder on MobileMe, download them from the Apple server. From the Finder Go menu, follow the path iDisk/My iDisk/ to get there. Your website files are in the Web/Sites folder. Drag any files/folders onto the desktop.
    Use an FTP application to upload these assets to the root folder on your new server...
    http://www.iwebformusicians.com/Search-Engine-Optimization/Upload.html
    ...and change the relevant URLs to...
    http://www.domain-name.com/Folder-Name/file-name.file-extension
    There are lots of options for hosting for about half the cost of MobileMe...
    http://www.iwebformusicians.com/iWeb/Website-Hosting.html
    If you have been using a web.me.com domain name, you need to register a new one. Most hosting services give you at least one free and registering with your hosting company will make forwarding and managing it a lot easier.
    Make sure you add the new name to Google and create, upload and enter a new sitemap.xml...
    http://www.iwebformusicians.com/Search-Engine-Optimization/SEO.html
    If you have inbound links on other sites...
    http://www.iwebformusicians.com/Search-Engine-Optimization/Inbound-Link.html
    ... remember to inform the webmasters of you new URL.
    "I may receive some form of compensation, financial or otherwise, from my recommendation or link."

Maybe you are looking for