Approving WSUS updates via PowerShell

Experts,
    Last week patches were auto approved for installation to my test WSUS groups. I would like to use PowerShell to release the same updates to my production machines. I'm not sure if this script would release the same updates.
Get-WsusUpdate -Classification All
-Approval Unapproved -Status FailedOrNeeded | Approve-WsusUpdate
-Action Install -TargetGroupName
"General".
Does anyone know of a script that could release the same updates that were auto approved for testing?
Any assistance would be greatly appreciated.
Flite23

Hi,
unfortunately the native CMDlets are somewhat lacking in functionality (in this case you can't get the approved status for a target group with Get-WSUSUpdate), but Boe Prox has done a lot of really cool stuff around this. He has a series of
articles over at the scripting guy that might be worth a good starting place.
Failing that it would be worth giving a look at PoshWSUS, Boe's PowerShell module. Created for WSUS 3.0 SP2, it also works with WSUS 6.x 
If you find the answer of assistance please "Vote as Helpful"and/or "Mark as Answer" where applicable. This helps others to find solutions for there issues, and recognises contributions made to the community :)

Similar Messages

  • Approving WSUS updates for one computer group at a time

    We have a WSUS server, and four computer groups (Alpha, Beta, Production, Workstations). Our patching process has us approve all "Not Approved" patches for the Alpha group, right after they're released by Microsoft. One week later, we approve all
    of the updates from the previous week, for the Beta group. One week later, we do the same for Production. 
    I'm writing a script (which I can't test until next week), and wonder if there's a better way to get the list of updates that are approved for Alpha. Here is the code: 
    $updateScope = New-Object Microsoft.UpdateServices.Administration.UpdateScope
    $updateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::LatestRevisionApproved
    $updateScope.FromArrivalDAte = (Get-Date).AddMonths(-1)
    $wsusGroup = $wsus.GetComputerTargetGroups() | Where {$_.Name -eq "$PatchingGroup"}
    $updateScope
    $updateScope.getType()
    $updateScope.count
    $updateScope.ApprovedComputerTargetGroups.add($wsusGroup)
    $wsus.GetUpdates($updateScope)
    $Updates = $wsus.GetUpdates($updateScope)
    I assume I can take the $Updates variable and do the following for the Beta and Production groups: 
    Foreach ($update in $updates) {
    $update.Approve(“Install”,$PatchingGroup)
    Is this going to work, and is there a better way?

    For WSUS Scripts see this: http://poshwsus.codeplex.com/
    ¯\_(ツ)_/¯

  • Is update not approved for a specific group via powershell.

    My apologies in advance for asking a similar question to the one I asked two months ago,
    is update approved for specific group via powershell? I thought I had this covered, but as I've found time to continue to work on this project I see that it does not.
    I have a script that iterates through updates and if the release date is older than 30 days and they have not already been “Approved for Install” or “Approved for Removal” for a specific group it approves them. I am currently faced with the dilemma that
    when an update is set to “Not Approved” for the specific group I’m working on it does not come across in my group’s approvals and there for I cannot detect its current state to know if I should approve it. In other words, I don’t want to approve an update
    that I set to not approved for a specific group.
    I am currently achieving all this so far by connecting to my WSUS server and getting any and all updates via $all = $wsus.GetUpdates(). I Then get my group’s approved updates via $groupApproved = $wsus.GetUpdateApprovals($GroupScope) where ApprovedStates
    = "Any" and ApprovedComputerTargetGroups.Add($current_wsus_group). While iterating through $all I grab updates that are older than 30 days and check to see if the updateID exists in my $groupApproved. If it does not, I approve the update. Like I
    said before, an explicitly unapproved update for my group does not show up in my $groupApproved. I understand it’s because of my GetUpdateApprovals($GroupScope) being just that and only getting approved for install or uninstall, but even when I try to simply
    GetUpdates($GroupScope) I am still not returned explicitly unapproved updates. Below is a screen shot of what I mean by explicitly setting an update to unapproved for a group. I’ve read up on
    ApprovedStates and possible enumerated values and it does include "NotApproved" defined as "Includes updates that have not been approved or declined.".
    Hope all that makes sense, thanks for the help.

    So, I've decided to go about this a different way. Rather than getting all updates and comparing them to approvals via a scope of updates for my specific group (which includes all actions but Not Approved), I am going to look at specific approvals for each
    update and see if there is a match for my group. A simplfied version of this is below. 
    $AnyAllUpdates = $wsus.GetUpdates()
    foreach ($udpate in $AnyAllUpdates)
    if ($update IsNOTDeclined IsNOTSuperseded LegacyNameNOTIA64 CreationDateLTDATE yada yada yada)
    # get the approvals for this udpate as they relate to my group
    $uApprovals = $update.GetUpdateApprovals() | ?{$_.ComputerTargetGroupId -eq $wsus_group.Id}
    if ($uApprovals)
    if ($uApprovals.action -eq "Install")
    # do nothing, the udpate was approved for install
    elseif ($uApprovals.action -eq "Uninstall")
    # do nothing, the update was approved for uninstall
    elseif ($uApprovals.action -eq "NotApproved")
    # do nothing, the udpate was not approved for install
    else
    # since there was no specific action then it must be an inherited not approved from teh parent group
    # approve the update!

  • Disconnect WSUS server and Process of Approving Updates via Metadata.

    Hi Folks:
    I have recently setup 2 WSUS servers.   The first one has connectivity to the Internet and of course has access to Microsoft updates.   The second WSUS server is part of a disconnected network.   Both WSUS servers are supporting client workstations
    of various operating system versions.   The connected WSUS server is fairly easy, from a management viewpoint.   I simply check to see what updates are "Needed" and I approve them for download.   However, the disconnected WSUS server
    is the one that I need some advice on.   I want to have a fairly simply procedure for the disconnected WSUS server, but here is the procedure that I think would work:
    Transfer metadata and updates via disc from the connected WSUS server to the disconnected WSUS server (using documented export/import procedure).
    Check to see what is "Needed" updates on the disconnected WSUS server, once the WSUS server has had a chance to absorb all the imported metadata and updates.   This means that the disconnected WSUS server has determined from it's supported
    client workstations, what updates are required.
    Generate a list of those "Needed" updates in some form, so that I can now approve those updates on the CONNECTED WSUS server for download.  
    Once those updates have been downloaded to the connected WSUS server, transfer the updates and metadata again to the disconnected WSUS server.   Approve those updates, so that they can now be sent out to the client workstations on the disconnected
    network.
    If that is my procedure (can someone like Lawrence Garvin), please let me know, if that sounds correct.   I'm concerned about the double export/import of the metadata and updates.
    Also, I'm wondering if it would be better to have separate connected WSUS server for supporting the disconnected WSUS to keep things straight.
    For example:
    One connected WSUS servers supporting the set of client workstations, that are on the connect WSUS server's network.
    One disconnected WSUS server supporting the set of client workstations that are on the disconnected WSUS server's network.
    One more connected WSUS server, that would be used to download and transfer metadata and updates to the disconnect WSUS server.   The advantage in keeping this separate, is that you would never confuse approved updates between the connected network
    client workstations and the disconnected network client workstations.  Especially, if they have different versions of software, that require updating.  
    Any input would be appreciated.

    You will likely also want to configure your WSUS server to "Download express installation files." under the "Update Files and Languages," setting on your options.
    I will unequivocally disagree with this statement, for several reasons:
    First, there's nothing that needs to be deployed that would use Express Installation Files anyway. Express Installation Files were designed to facilitate the deployment of Very Large Updates (read: SERVICE PACKS) across slow-speed links by significantly
    reducing the size of the binary that must be downloaded by the CLIENT. There are NO service packs in the catalog that won't already be installed on any client system.
    Second, in exchange for that ability of clients to download less, it significantly increased the size of the binary that must be downloaded by the SERVER from Microsoft. Express Installation Files will cause hundreds of gigabytes of extra binaries to be
    downloaded, which will need to be transferred to the disconnected server. None of which will actually ever be used.
    Third, most disconnected networks do not include WAN links, so the primary purpose of Express Installation File is contra-indicated by the very scenario being discussed.
    Otherwise by default you might get just an installer downloaded onto the WSUS server and clients might still need internet access to download the actual package contents.
    It would seem that you do not correctly understand Express Installation Files.
    There is an in-depth explanation of Express Installation Files in the WSUS Deployment Guide. For additional information see
    https://technet.microsoft.com/en-us/library/dd939908(v=ws.10).aspx#express
    I also would not recommend a internet facing WSUS server just to provide updates to the disconnected WSUS server as that will also need to download a full copy of the content to that server when it is likely already downloaded onto your internet
    / production WSUS server anyway.
    Seemingly you are also not actually familiar with the documented guidance for how to manage disconnected networks. An Internet-facing (connected) WSUS server is *exactly* how this is done.
    You may also find this part of the Deployment Guide to be useful reading:
    Configure a Disconnected Network to Receive Updates
    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

  • Getting Windows 10 Updates via WSUS?

    There are a number of us previewing Windows 10 within our organisation, and these machines reside in OUs which result in them getting updates via WSUS. I presume this configuration is the cause of there being no update ring or update build options within
    the OS. Looking at our WSUS, we have no Windows 10 product catalog for us to approve any updates. 
    What's the expected update mechanism from Microsoft on Enterprise Previewers? I had assumed that the OS would be locked to updates direct from MS but it seems it is still working with WSUS.

    Hey,
    it's not fair to be honest. Of course you should not use a technical preview in a production Environment.
    But it is possible to create a DEV active Directory which is using WSUS too.
    So why not having a WSUS DEV product categorie to Support technical previews in WSUS from the Moment it is joined to a DEV Domain?
    Regards,
    Klaus

  • Issues updating/setting multi value lookup columns via powershell

    Hi All,
         I have an issue updating multi values in a lookup field via powershell
    I can update a single value  lookup field as below but can't get to update if its multi value.
    As stated below when I hardcode it. It works.
    No idea what 'm missing. Any help will be appreciated.
    #Hardcoded works below as you can see i'm setting 3 values
    $array = @($realval.Split(';'))
    for ($i = 0; $i -lt $array.Count - 1; $i += 2)
    $word = $array[$i].Trim('#')
    $number = $array[$i+1].Trim('#')
    "$number $word"
    $lookupvalue1 = GetLookUpValues -val $number
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue = New-Object Microsoft.SharePoint.SPFieldLookupValue
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue2 = New-Object Microsoft.SharePoint.SPFieldLookupValue
    [Microsoft.SharePoint.SPFieldLookupValue] $lookupvalue3 = New-Object Microsoft.SharePoint.SPFieldLookupValue
    $lookupvalue.LookupId = 1
    $lookupvalue2.LookupId = 2
    $lookupvalue3.LookupId = 6
    $itemValues.Add($lookupvalue)
    $itemValues.Add($lookupvalue2)
    $itemValues.Add($lookupvalue3)
    #$itemValues.Add($lookupvalue)
    $CMRSItems["Event Type"] = $itemValues;
    Write-Host "items:" $itemValues
    $CMRSItems.Update()
    # This works when its updating only one value but when it needs to update multivalue it only updates the last one
    #so for example with the lookupvalue above only 6 gets updated below
    $array = @($realval.Split(';'))
    for ($i = 0; $i -lt $array.Count - 1; $i += 2)
    $word = $array[$i].Trim('#')
    $number = $array[$i+1].Trim('#')
    #$number
    "$number $word"
    #send param to GetLoolValues func to return records as SPFieldLookupValue
    $lookupvalue1 = GetLookUpValues -val $number
    #I can view the lookupvalue returned successfully
    #Write-Host $lookupvalue1
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    #This LookupId returns 3 values like on the hardcoded one above like so :1,2,6
    $lookupvalue.LookupId = $number
    $itemValues.Add($lookupvalue)
    $CMRSItems["Event Type"] = $itemValues;
    #I can view the items returned successfully
    Write-Host "items:" $itemValues
    $CMRSItems.Update()

    The problem I can see with your code is that the below line of code, you are instantiating inside the for loop. This should have been outside the for loop as by keeping it inside the loop you are overriding the value.
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $itemValues = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    Please have a look at the below solution and modify your code as per your requirement. What I am trying to achieve in the below code is that I have a listA in which one of the field is being used as a multi-lookup in my listB.
    $lookupCollection = $something.split(";")
    $LookupMasterList=$web.Lists["ListA"]
    [Microsoft.SharePoint.SPFieldLookupValueCollection] $lookupValueCollection = New-Object Microsoft.SharePoint.SPFieldLookupValueCollection
    #Get the Lookup Item from Parent List
    foreach($item in $lookupCollection){
    IF([string]::IsNullOrEmpty($item.trim())) {
    continue;
    $LookupItem = $LookupMasterList.Items | Where-Object { $_.Item("FieldInternalName") -eq $item.trim()}
    if($LookupItem -ne $null)
    $myLookup = New-Object Microsoft.Sharepoint.SPFieldLookupValue($LookupItem.ID,$item.trim())
    $lookupValueCollection.Add($myLookup);
    #Set the Lookup field value
    if([string]::IsNullOrEmpty($lookupValueCollection)){
    continue;
    else{
    $newItem["Lookupfieldinternalname"] = $lookupValueCollection
    The above logic has no hard coding and it fetches the lookup information directly from the master list and generates a collection based on that. You can modify the above code as per your requirement.
    Geetanjali Arora | My blogs |

  • Bulk Update Connected SharePoint Sites via powershell

    Hello
    Is there a way to Bulk Update Connected SharePoint Sites via powershell?
    Yasser

    Sure you can, call the following PSI method from PowerShell passing in the correct parameter values:
    http://msdn.microsoft.com/en-us/library/office/gg206217(v=office.15).aspx
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS

  • Install Adobe updates via WSUS and ignore UAC restrictions

    Hi
    My company has currently set new UAC security settings but we have an issue where we are not able to update Adobe products because UAC stops it, UAC also does not prompt for elevation it just out right blocks updates.
    We really need a way to either allow the updater to run/install past the UAC restrictions OR find a way to distribute adobe updates via WSUS if it's possible
    Thanks

    I am not sure what you mean, I am able to install all updates from Microsoft through WSUS. I read something about being able to install an Adobe add-on or something like this to enable WSUS to download updates for Adobe and distribute them this way. This would save on network traffic and downloads, considering there are so many Adobe updates, it would be nicer to download them once and distribute. Otherwise how do big networks send out Adobe updates if they update it at all?
    I am not sure where the updateshandler.log is stored as searching the entire drive did not display anything. Something that might help is that some PCs use Adobe acrobat 8 and some use acrobat 10.

  • SCCM 2012: update client machine policy via powershell?

    Hi,
    Does SCCM 2012 R2 have powershell command built-in to trigger update actions of SCCM client (update machine policy etc)?
    J.
    Jan Hoedt

    To update client machine using Power Shell, you can check below link
    http://blogg.alltomdeployment.se/2014/02/howto-force-remote-clients-to-update-their-sccm-clients-machine-policy-retrieval-evaluation-cycle-via-powershell/
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question, please click "Mark As Answer"
    Mai Ali | My blog: Technical | Twitter:
    Mai Ali

  • WSUS update approval

    Hi,
    When I want to approve declined updates, so I get the error. Or really do not approve declined updates again? 
    Error mesage: The selected update has expired and cannot be approved for installation. It is recommended you decline this update.
    Thank you

    Error mesage: The selected update has expired and cannot be approved for installation. It is recommended you decline this update.
    I think on the contrary, if it is not that WSUS must re-download the update. Therefore, the message seems to me absurd... It was enough to try it the other day and now it works.  So..?
    The update is EXPIRED!
    Do you understand what an EXPIRED update is?
    http://technet.microsoft.com/en-us/library/cc708465(v=WS.10).aspx
    Expired Updates
    An expired update is an update that has been invalidated by Microsoft.
    An expired update can also be an update that has been superseded by the release of another update (new or revised) that fixes or enhances functionality or applicability offered by the expiring update. In this case, the superseding update should be
    approved in place of the expired update. An update that is expired can no longer be approved for detection or installation.
    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

  • Push urgent update via WSUS?

    Hello, 
    I am using WSUS 2012 and have a couple of questions.  We have created multiple Computer Groups in the WSUS console to manage the different departments and regional offices and it is working great,wih our GPOs.  Once we approve the updates then
    afer a couple of days they will have them.
    1.) If we need to push an urgent update out or remove one very quickly how can we do this?
    2.) What is the best way to show what Computer groups we have approve updates on?
    Thanks

    Hello TB303,
    1.) The best to force an update to be catch out of your WSUS settings is to force the computer to get the last updates from the server with the following command line :
    wuauclt /detectnow (see :
    http://technet.microsoft.com/en-us/library/cc720477%28v=ws.10%29.aspx)
    You'll just have to wait for about 15-30 minutes and the computer will have the updates been downloaded.
    But you have to take in consideration that the settings you put in your GPO on the way updates are treated (Download and wait for install, Download and install, etc.) will be applied even with the command line
    2.) The best is to create Filtered View and to manage the Columns to see the Install counts or the last connection date.
    TiGrOu.

  • PowerShell Display Title Of WSUS Updates

    I am looking to publish to the application support teams in our company a list of the WSUS updates that I am about to push out to their servers. This is the script I have so far, it lists the Critical updates only:
    $ListOfUpdates = Get-WSUSUpdate -Classification Critical
    $ListOfUpdates
    How do I display the Title property only for each update? I've tried a ForEach loop and tried to get $ListOfUpdate.Title, but that shows no results.
    Thank you for any help.

    Hi,
    Try piping through Select-Object:
    $ListOfObjects | Select -ExpandProperty Title
    Syntax:
    http://ss64.com/ps/select-object.html
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)
    I've tried a Property with * in the results, and get this:
    Update : Microsoft.UpdateServices.Internal.BaseApi.Update
    Classification : Critical Updates
    InstalledOrNotApplicablePercentage : 100
    Approved : NotApproved
    ComputersWithErrors : 0
    ComputersNeedingThisUpdate : 0
    ComputersInstalledOrNotApplicable : 3
    ComputersWithNoStatus : 0
    MsrcNumbers : {}
    Removable : False
    RestartBehavior : Never restarts
    MayRequestUserInput : False
    MustBeInstalledExclusively : False
    LicenseAgreement : This update does not have Microsoft Software License Terms.
    Products : {Windows 8.1, Windows 8, Windows Server 2012 R2, Windows Server 2012}
    UpdatesSupersedingThisUpdate : {None}
    UpdatesSupersededByThisUpdate : {None}
    LanguagesSupported : {all}
    UpdateId : e81faa96-a4b2-40a2-a6b1-f18564acd1f8
    I take it the "UpdateId" is the field I am after, but why isn't there an entry that is the same as the "Title" field that is displayed on the original search?

  • The WSUS administration console was unable to connect to the WSUS Server via the remote API. (Server 2k8)

    I have installed a new server for WSUS on Server 2k8, This is a stand alone server on Internet No client system is connected on this server as I have to copy these updates to my LAN which never connects to internet. (Previously I was using server 2k3. for
    online & server 2008 on my LAN , now I have changed the server for Online)
    Wsus has finished the synchronization & downloaded updates of around 67GB & its downloading more updates. The server shows me some updates are waiting to approved. but when I click the link for those updates I get following error message.
    error code is as follows -
    The WSUS administration console was unable to connect to the WSUS Server via the remote API.
    Verify that the Update Services service, IIS and SQL are running on the server. If the problem persists, try restarting IIS, SQL, and the Update Services Service.
    System.Net.WebException -- The operation has timed out
    Source
    System.Web.Services
    Stack Trace:
       at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
       at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.ApiRemotingCompressionProxy.GetWebResponse(WebRequest webRequest)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, Int32 publicationState)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
       at Microsoft.UpdateServices.Internal.BaseApi.Update.SearchUpdates(UpdateScope searchScope, ExtendedPublicationState publicationState, UpdateServer updateServer)
       at Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetUpdates(UpdateScope searchScope)
       at Microsoft.UpdateServices.UI.AdminApiAccess.UpdateManager.GetUpdates(ExtendedUpdateScope filter)
       at Microsoft.UpdateServices.UI.AdminApiAccess.BulkUpdatePropertiesCache.GetAndCacheUpdates(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope)
       at Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetListRows()
    I Have tried desabling the firewall,disabling the antivirus protection. Tried by changing the default rule Please Help.

    Hi Sagar,
    First, please check if the RAM is exhausted. When there is not enough RAM, this issue may occurs.
    Please try to run iisreset on the WSUS server, then try to reconnect.
    Also, please try to run the server cleanup wizard to remove the unused update.
    Best Regards.
    Steven Lee Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • WSUS updates not applying to Office 2013 Home and Business OEM version

    Hi
    For some reason I cannot get WSUS updates to automatically install on clients running Office 2013 Home and Business OEM version.
    For example
    If user opens any of the office 2013 apps e.g. Outlook , word etc, it prompts a message at the top under the ribbon toolbar; UPDATE NOW.
    All other updates for OS are downloading and installing just fine from our WSUS server.
    What could this be?
    I dont have this issue with clients running office 2003

    First thing you need to do is be absolutely certain which edition of Office you have installed.
    There are five editions of "Office 365" and these days, almost anything that is "OEM" is almost certainly Office 365:
    Office 365 Home
    Office 365 Personal
    Office 365 Small Business
    Office 365 Small Business Premium
    Office 365 Midsize Business
    Office 365 ships with an activation code for an online management account, and authorizes the installation of the software on up to five devices. Office 365 is updated via the WEB .. ONLY.
    In addition there are three editions of Office 2013:
    Office Home & Student
    Office Home & Business
    Office Professional
    If you have one of these three editions, you should also have a DVD and a Product Activation Code for the SINGLE-PC installation which is licensed for these editions provided by the vendor of your computers. Office 2013 can be updated using WSUS.
    Since you're getting a prompt IN THE APPLICATION to "Update Now", I believe you're looking at instances of Office 365, not Office 2013. Office 2013 (desktop) does not provide in-product prompts for updates/upgrades.
    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

  • Can you add delegate access to a user's calendar or mailbox folder via powershell?

    Basically I want to know if you can grant a user delegate access to another user's calendar or meeting room using native  powershell commands?
    I know you can do this via method 1, listed below, however when you grant permissions in this way and if a user wants to see who has delegate access to their calendar or inbox by going to delegate access in outlook they will not see user's who have access
    to their calendar or inbox.
    Method 1:
    Add-MailboxFolderPermission -Identity "userA:\Calendar" -User UserB -AccessRights editor
    The above is a nice and simple way of granting userB EDITOR access to UserA's calendar.
    But as stated above as you are using mailboxFolderPermissions and not DelegateAccess, this applies directly to this folder and if userA goes to their delegate access view in Outlook, they will not see that userB has access to their calendar.
    I know that you can use the below commands to see a list of user's who have delegate access to you calendar:
    Get-Mailbox userA | Get-CalendarProcessing | select resourcedelegates
    I am new to powershell and don't know if there is a way of setting delegate access to a user's calendar or inbox/folder via powershell commands, similar to the above.
    Any help with this query would be much appreciated!
    thanks

    Delegate access is simply a combination of folder rights (which you've described) and Send As right, which is conferred by Add-MailboxPermission or Send On Behalf of right, which I'm not sure if you can confer with PowerShell. Set-CalendarProesssing applies
    to resource mailboxes like conference rooms, not to user mailboxes.
    Update: "Send on Behalf of" is conferred this way:
    Set-Mailbox UserMailbox -GrantSendOnBehalfTo UserWhoSends
    Ed Crowley MVP "There are seldom good technological solutions to behavioral problems."

Maybe you are looking for

  • Mac after effects update crash

    Just updated AE CC to 2014.1.1 for my Mac OS 10.9.5 And now, the computer is crashing every time I render a file. The only plugins I have are Neat Video "Reduce Noise". I will be trying the same footage on CS6 and then again on another computer. I'm

  • How to set #HOST# variable used in Chart template using Multiple Domains?

    I have a extended question to How can I set #HOST# variable referenced in the Chart template? In addition to the Proxy layer, we are looking to use multiple sub-domain names into the same Oracle APEX instance (through the one DAD) each mapped to a di

  • Add Search Column to Prospect Search

    Hello everyone, I added a few columns to the Prospect table that I would now like to include in the Prospect Search page.  Is there an easy way to do this without rewriting the page?  I did add a row with the column name to the SearchSetDetail and th

  • Startup issues after restart

    Hello, Since updating to 10.6.7 (probably) I am having strange issues with my Mac Pro 2008 Nehalem. The issue is that after a restart (from menu) the system always freezes on a login screen. Sometimes the screen is totally blue, sometimes it freezes

  • Sqlloader:only 1st when clause works for comma separated data file

    LOAD DATA INFILE 'XXMI_SUPPLIER_DATA.dat' REPLACE INTO TABLE APPS.XXMI_AP_SUPPLIERS_STG when interface_record_type = '01' Fields terminated by "," Optionally enclosed by '"' TRAILING NULLCOLS and INTO TABLE APPS.XXMI_AP_SUPPLIER_SITES_STG when interf