Automate the google chrome update through scripting for every logon using powershell. - powershell

Title: Automate the google chrome update through scripting for every logon using powershell.
Anyone wants to take a shot at writing the code? If not maybe guide me towards it. I have little experience.
I need google chrome to update the moment the user logs on through a script that I can push to multiple computers at the same time.
Thanks in advance! -Albert

Automagic updates (installs) can be made, but depend upon a number of factors
1) Your level of access
2) Desired level of control over version management
3) Access to network storage resources
If you could explain your environment a bit (better), we might be better able to assist in your endeavors.
I do this sort of thing all the time, but using enterprise tools such as Group Policy, SCCM, etc.
Answer these:
What is the command string to silently UNINSTALL any given version of Chrome?
What is the command string to silently INSTALL any given version of Chrome?
Do you have an .msi installer to use for group policy or SCCM-initiated installs?
Do you have an enterprise configuration management service available for use?
Do you have a domain environment? Access to group policy?
Point being, what have you done to get where you want to be?

Related

Automatically uninstall unused applications in SCCM 2012

Is there a way to automatically uninstall unused applications in SCCM 2012?
I thought of a PowerShell script. Which lists the local installed Applications and compares to the group assigned by the user in the AD. If there is an installed application without group assignment, the application should be uninstalled.
I have had very little to do with PowerShell and want to ask if this is possible?
Thanks
First of all you need to have sofware usage metering data - corresponding feature should be enabled & configured in SCCM, probably some usage statistics can be gathered on a client side by enabling some logging/metering built into client OS (not sure about latter at the moment).
Then having software usage metering data you may establish threshold suitable for you (e.g. software is unused if it was never run at all, newer run for certain period of time etc.) and select and run uninstall of this sofware by running script against all your machines/users.
This is just an outline of how it possibly could be done.
Further reading (describe exactly asking about with use of Orchestrator Runbook Automation and ability to opt out from assigned uninstall for user):
1) Software Metering Deep Dive and Automation Part 1: Use It Or Lose It - The Basics
2) Software Metering Deep Dive and Automation Part 2: Use It Or Lose It - The Collections
3) Software Metering Deep Dive and Automation Part 3: Use It Or Lose It - The Orchestrator Runbook Automation
By the way there is a little pitfall here: software metering just track runs of app & probably time it has been running for, but this in not always equals to real application usage (it may be simple configured to autostart but ignored by user)

Best practice deploying windows service

I'm looking for best practice in continuous delivery of windows services.
Currently we hava a set of powershell scripts that unintall, reboot, install updates but error handling is tricky. We are reviewing System center but are there any other options available for deploying a windows service?
We've been using Presto since Dec 2011, and have done over 1,000 deployments. Most of what we deploy are Windows services.
What's nice is that we set up our apps and servers in Presto, then we can repeatedly deploy, to any server (or multiple servers at once), by just hitting a button. Presto will copy our official release binaries, update all of the items in our app config files, create and start the service, etc...
So, if you have an application that has 30 manual steps to deploying it, you can enter these steps in Presto, then it's done automatically for you after that.
It's worth a look: http://presto.codeplex.com/
Your most basic and generally accepted best option comes from this thread, which basically links to a Microsoft support article on creating an installer for the windows service.

How to track down errors when Azure web role starts up?

I habe a web role in azure. It is running fine locally in development app fabric, but fails silently when deployed to Azure (simply no response at all for any request).
I assume it's some problem with the web.config, but that is happening so early that it occurs already before I can set up the diagnostic stuff in global asax. As said, it's working fine locally, but there is simply no response at all from the azure system.
How can I find out what specifically is wrong to be able to solve it like get the exception text, stack trace, IIS application system error log or anything that could hint me to the real problem?
The absolute first thing that is run in a Web role is not your application but the OnStart() method in WebRole.cs in your Azure project. This is the place to add code to monitor your Web site.
The standard technique is to copy your application trace logs and the Windows event logs to Azure table storage, together (if appropriate) with instrumentation for CPU usage, IIS statistics and what-have-you.
A good introduction to this is here: http://blog.bareweb.eu/2011/01/beginning-azure-diagnostics/
and a good followup with details on the specifics you'll need in your application is here: http://blog.bareweb.eu/2011/03/implementing-azure-diagnostics-with-sdk-v1-4/
which remains applicable for the Azure SDK 1.5.
Once you are capturing diagnostics, you can either use Visual Studio to view them directly, or you can use a tool like the Cerebrata Azure Diagnostics Manager to graph and filter them automatically. This tool is a little rough around the edges (especially for larger systems with multiple instances: the graphs aren't really useful) but is as good as it gets at the moment.
An alternative approach is to use Remote Desktop to connect to the remote instance and do some spelunking in the Windows event logs and suchlike. You can also use the Internet Explorer browser that's on the remote instance to directly connect locally to the application and see any errors etc. that may otherwise be hidden.
Personally I'd only do this if the diagnostic storage mechanism isn't working: production servers really should have remote desktop access turned off altogether to reduce the possible surface area for external attack.
Setting up diagnostics is the best long term solution to dealing with tracking errors in your application. If you want something a little more ad-hoc you can either catch the errors and write them to blob storage or use your own light weight trace listener.

ClickOnce check for update without executing app

I work in a service organization where users of our internal tools are often disconnected. It is often the case that service engineers on service assignments are "stranded" with an outdated version of some internal tool.
These tools are deployed using ClickOnce publish VS2010 .NET4 . If the users run all their apps while still connected to corporate network, they would get a notification that a new version was available. As the number of various tools increase, the chance increases that some app is not updated.
Is it possible to automate this process, by a batch file or something?
So that the engineers just need to run one file when connected to corporate nw to get all the newest versions of their installed tools?
Added:
An easier way of saying it would be to have "something like Windows update" operating on corporate net, but for internal ClickOnce apps.
Very interesting question. I can't think of a quick way to do this, but it's definitely possible.
I would create another ClickOnce app whose job is to update the other ClickOnce apps. This app needs the url of each app's .application file. If all engineers are supposed to have all apps, that's easy. If not, maybe you could look through their start menu and find all the ClickOnce Application Reference files. Those files contain the url.
Next, just launch the url and pass a query string argument...
http://server/MyApp/MyApp.application?UpdateOnly=true
In the startup of your applications, you can check the query string argument and shut down the app if it's run with UpdateOnly=true.
One side note. If you set the minimum required version of each of your apps to the latest version, users won't get prompted with the new version dialog. Seems like you'd want to do that or the user would still have to pay attention and do a lot of clicking.

Can a ClickOnce deployed app be silently mass installed?

I have a smart client app (WinForms/WPF) currently deployed using ClickOnce.
A particular client has expressed the desire to silently deploy the app to it's intranet network users as part of its nightly/weekly client PC update service - presumably via MS Systems Management Server (SMS) and Group Policy or similar (I don't understand the exact mechanisms). As such, they've requested a .MSI installer instead.
So a few questions for confirmation (along with my thoughts on answer - am more than happy to be wrong!):
Can a ClickOnce app be silently installed en-mass by admin???
My thoughts: No, because ClickOnce is a per-user installation this would be difficult unless the user is actually logged in at time of remote installation.
Is there a tool to convert a ClickOnce app/project's settings to a simple MSI installer project (e.g. Visual Studio Deployment Project)???
My thoughts: Not in the box, but would love a tool to repeatedly copy/use settings from the ClickOnce config to the deployment project - e.g. ProductName, Version, File Associations etc. This way we only maintain one set of deployment settings.
Any other alternatives for this scenario to get 'er done quick...?
I don't think you can install a ClickOnce application silently, certainly not with SMS. And I don't know of any tool that does that, but it doesn't mean it doesn't exist. ;-)
The idea of deploying a shortcut is an interesting thought. Have you ever noticed that if you leave a shortcut on the desktop even after the application is uninstalled, if the user clicks on it, it reinstalls the application?