Robocopy Permissions - Access Denied

When running a Robocopy command to copy files from a Windows file location to a UNIX type location such as a NAS DO NOT use the \B switch. This will result in Access Denied because it will try to copy the Windows permissions to the NAS location adn it's not possible for obvious Reasons.

SharePoint 2013 | Approve a list item | PowerShell

From here: https://sharepoint-learners.blogspot.com/2016/09/sharepoint-2013-approve-list-item.html

Work Statement: Approve all the list items
 
$site = new-object Microsoft.SharePoint.SPSite("http://site")
$web = $site.OpenWeb()
$list = $web.Lists["Posts"]
$items = $list.Items

foreach ($item in $items)
{
    $item["_ModerationStatus"] = 0
    $item.Update()
}



Work Statement: You want to approve a single list item

$site = new-object Microsoft.SharePoint.SPSite("http://site")
$web = $site.OpenWeb()
$list = $web.Lists["Posts"]
$items = $list.GetItemById(10)
$item["_ModerationStatus"] = 0

$item.Update()


The following are more ModertionStatus:

ValueDescription
0 The list item is approved.
1 The list item has been denied approval.
2 The list item is pending approval.
3 The list item is in the draft or checked out state.
4 The list item is scheduled for automatic approval at a future date.

How to determine what fields were update in an update trigger

From here: https://stackoverflow.com/questions/19077356/how-to-determine-what-fields-were-update-in-an-update-trigger

create trigger utr_Table1_update on Table1
after update, insert, delete
as
begin
    with cte_inserted as (
        select id, (select t.* for xml raw('row'), type) as data
        from inserted as t
    ), cte_deleted as (
        select id, (select t.* for xml raw('row'), type) as data
        from deleted as t
    ), cte_i as (
        select
            c.ID,
            t.c.value('local-name(.)', 'nvarchar(128)') as Name,
            t.c.value('.', 'nvarchar(max)') as Value
        from cte_inserted as c
            outer apply c.Data.nodes('row/@*') as t(c)
    ), cte_d as (
        select
            c.ID,
            t.c.value('local-name(.)', 'nvarchar(128)') as Name,
            t.c.value('.', 'nvarchar(max)') as Value
        from cte_deleted as c
            outer apply c.Data.nodes('row/@*') as t(c)
    )
    insert into Table1_History (ID, Name, OldValue, NewValue)
    select
        isnull(i.ID, d.ID) as ID,
        isnull(i.Name, d.Name) as Name,
        d.Value,
        i.Value
    from cte_i as i
        full outer join cte_d as d on d.ID = i.ID and d.Name = i.Name
    where
        not exists (select i.value intersect select d.value)

Excel unable to run via Task Scheduler

From here: https://forums.asp.net/t/1740537.aspx?Microsoft+Excel+cannot+access+the+file+is+solved+by+creating+a+folder

These are the steps for resolving the issue. If I ran Task Scheduler on demand it worked, but it would not interact with Excel of it was Triggered by the timer!

Run> dcomcnfg

This will open Component Services and navigate to Console Root
\Component Services\Computers\My Computer\DCOM Config\Microsoft Excel Application
Right click Microsoft Excel Application and select Properties

Click on Identity Tab and check selection.

It works for me when select option - The interactive user

Remove a Project from Source Control in Visual Studio

From here: https://blogs.msdn.microsoft.com/korbyp/2003/12/17/how-to-remove-a-project-from-source-control-in-visual-studio/

To (permanently) remove a project or solution from source control

1.      In Visual Studio, click File, click Source Control, and then click Change Source Control.

2.      In the Change Source Control dialog box, select the project and/or solution you want to remove from source control, and then click Unbind.

3.   Delete all solution or project files in the source control database.

4.      In Windows Explorer, locate the working directory for your solution/project and then delete all *.scc files.


Note   In Visual SourceSafe and many other SCC systems, if other users have checked out the solution/project in the past, even if they have since checked in their changes, the next time they attempt to Get or Check Out the solution/project, they will be prompted to add the items to source control from their working copies on disk. On the SourceSafe team, we call this a “pending add“, which is a little confusing. Anyway, if you want to guarantee that a solution/project is permanently, permanently, permanently removed from source control and will never again re-appear in your database, you should repeat the final step in the preceding procedure for all solution/project enlistees.

Cannot open SSRS/SSIS projects with VS2017

When you’re trying to open your SSIS or SSRS solution, you will get a message that the migration has failed or ‘The application which this project type is based on was not found.

From https://www.jonashendrickx.com/2017/06/26/cannot-open-ssrsssis-projects-vs2017/ 

Method 1

  1. Open ‘Microsoft Visual Studio 2017‘.
  2. In the menu bar, expand ‘Tools‘, then choose ‘Extensions & Updates‘. to install an extension.
  3. Search for ‘Microsoft Reporting Services Projects‘, and install this extension.
  4. To complete the installation, shut down all windows and instances of Microsoft Visual Studio 2017. Then the installer will start.
  5. Try to open your solution or projects (*.rptproj) again.

Method 2

  1. Close all windows and instances of ‘Microsoft Visual Studio 2017‘.
  2. Download ‘Microsoft Reporting Services Projects‘ from the Visual Studio marketplace.
  3. Open your solution or project.

Slow Cheetah not working

7

The issue is, only adding nugget would not suffice. You need to install slowcheetah from visual studio marketplace. Following are the steps:

  1. Install SlowCheetah from Tools > Extensions and Updates
  2. Restart VS, allowing for the VSIX installer to run
  3. Create new C# App (.NET Framework). (In my case, it started to work on existing app also.)
  4. Show ALL Files in Project and you will see the Transformations

You will then also see the Transformation files in the Project file as explained below.

Unload the project and then Edit the project. Find the ItemGroup element that contains your newly created config file and add the <DependentUpon>Web.config</DependentUpon> element there, like so:

How to Specify Assembly References Based On Build Configuration

To "Dynamically" change the path of a Reference in Visual Studio you first need to Unload the Project, then Edit the *proj file.

Go down to the References Section change the Hard Coded Path to $(Configuration). This will dynamically change the reference when the Configuration is changed.

    <Reference Include="Dafran.Exceptions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=08f619978b79cd15, processorArchitecture=MSIL">

      <SpecificVersion>False</SpecificVersion>

      <HintPath>\\zero\Builds\Dafran.Security\$(Configuration)\Dafran.Exceptions.dll</HintPath>

    </Reference>