Tuesday, December 22, 2015

Speed Up Visual Studio 2012 + Build Performance,

Here are 2 recent options that imporved Build (MSBuild) performance: 1): Go to OPTIONS>ENVIRONMENT..under Visual Experience, untick “Use Hardware Graphics Acceleration If Available” for some weird reason your dev environment should loosen / speed straight up. Works on all or our laptops. If you have any doubt if yours is on go slow, op 2) Goto Tools>Options>Environment>Add In Security You will see a checkbox with “allow add in components to load” .Just uncheck it. Restart the IDE and check the lightning speed of the IDE now…

Monday, December 7, 2015

IIS Bindings HTTP and HTTPS, SharePoint 2010 Alternate Access Mapping and SSL

Example binding exposing server to intranet and un-trusted domains in same network, with http and https, Used MS self signing certificate for Dev purposes, Used for reference : This shows IIS8 bindings with various binding to expose a dev server to intranet , also showing corresponding SharePoint 2010 Alternate Access Mappings for bindings to support ssl, and ssl storage of self signed cert and IIS config for SSL cert. In this case using self signed ssl cert for dev / demo purpose only. 1. IIS 8 Bindings
2. SharePoint 2010 Alternate Access Mappings
3. SSL certmgr.msc
4. IIS SSL Config

Friday, December 4, 2015

Code Search Engine : Code.OpenHub

One of the coolest Ive seen in a while Black Duck Open HUB @ http://code.openhub.net/ makes it a breeze to find hard to find code samples, the results are displayed quickly with an intuitive preview interface for quickly checking out result, Break out of the GooglGulag come over to http://code.openhub.net/, Example Search for sharepoint 2010 sandbox solutions yields this:

Tuesday, November 24, 2015

Use Jquery to hide all elements except one

I need to hide everything, except the table with id = divShowOnly
View JS Fiddle Source Here

Code:

// hide all elements except a few
//hideAllExcept('#ctl00_PlaceHolderMain_gvSummary')
function hideAllExcept(selectrId) {
//$('body > :not(#ctl00_PlaceHolderMain_gvSummary)').hide();
    //$('[id*=gvSummary]').appendTo('body');
   
    $('body > :not(' + selectrId + ')').hide();
    $('[id*=' + selectrId + ']').show(); //or  appendTo('body');
   
}

Tuesday, November 3, 2015

RoboCopy Synch 2 Folders, Copy newer files between 2 dirs

Not true mirroring but its a good way to synch up a source a destination for newer files, new files and dirs, robocopy command line below:

@ECHO OFF
SET source="C:\Work"
SET dest="\\Server\Work"

ECHO ****************START  %DATE% %TIME% synch
ECHO Two way mirror between source: %source% and destination: %dest%, continue?
ECHO synch excluding older file, This should preserve newer copy exist in both locations

ECHO  ******* Start source to dest
robocopy %source% %dest% /E /DST /FFT /XO /XJ /ETA /S /R:100 /W:10 /NDL /NJH /NJS
ECHO  ******* Start dest to source
robocopy %dest% %source% /E /DST /FFT /XO /XJ /ETA /S /R:100 /W:10 /NDL /NJH /NJS

ECHO ****************DONE  %DATE% %TIME% synch

Outlook Calendar to GMail Calendar 2-way synch



Very cool tool to synch google to outlook calendars, this was the only 2way synch freware I found, Im sure it wont last as free so get it while U can and donate if U like:


Once downloaded open the window to config, and voila ur Calendars are in synch!





Configure Outlook 2010 (other vers to come) to use GMail, GCalndar, and custom Domain send from

Here are articles I found helpful in setting up Outlook to use Gmail email, calendar and custom domain send to:

1. Gmail Setup via IMAP
2. SetUp custom Domain to send email, in my case namescheap @jrdtechnologies.net
Outlook ignores the Gmail "Send As" thus U will need to do this.
3. Import Google Calendar into Outlook
4. *** NOTE ** to prevent Duplicate Sent items from showing up in Sent items be sure to set "Do not save copies..." on Sent Items tab,m see #4 below

to make outlook send email as your custom domain, use the following config:
1. Set custom domain as default


 2. then config Send/Receive for that custom domain to not Recieve,

3. Then on create new email, email is sent from @jardtechnologies.net not @gmail.com!
4. Set this to prevent dups:

Use Gmail from Outlook connection error:

If u see the following error when creating a gmail account in Outlook :
Error: Server Response: -ERR [AUTH] Web login required: https://support.google.com/mail/answer/78754

then the resolution (quick) is to enable the following setting in Google account settings:
here: https://www.google.com/settings/security/lesssecureapps


Monday, November 2, 2015

Detect SharePoint Version using JavaScript:

There is a JS objetc called _spPageContextInfo on that type U can use .webUIVersion property.

In SP 2010, it will return 4, in 2013 it will probably return 15. 2007 might not return anything or throw undefined. 

This allows us to determine SP version from JS :

SP 2010 Example:


 SP 2013 Example

SharePoint Calculated Field: Extract Email UserName and domain from an email field

If you have a need to extract name and/or domain from an email column, here's how to do it in SharePoint

Go to library settins, add a new text email column via 'Create Column', call it Email,

Go to library settings again, here we are going to add 2 new columns:

Create a new calculated column called "Name" and type in this formula

=LEFT([Email], Int(FIND("@",[Email])-1))
Like So:


Create a new calculated column called "Domain" and use this formula

=RIGHT([Email],LEN([Email])-INT(FIND("@",[Email])))

We now will have:

===========================================================
|  Email                          |  Name            |      Domain       |
===========================================================
| Jason@att.com           |   Jason            |   att.com  |
| HelloJason@ms.com   |   HelloJason    |   ms.com  |

Monday, October 26, 2015

Some more Windows 7/8 Tuning Options, Remove pesky Windows Updates and those hidden scheduled Tasks!

Save some CPU and RAM! Here is an article I found and utilized to remove the pesky tasks that bog down system performance:

Remove data collection on Windows 7 and 8 systems tasks!

Here is summary of cmds I ran ..more to come...
C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Delete /F /TN "\Micros
oft\Windows\Customer Experience Improvement Program\Consolidator"
SUCCESS: The scheduled task "\Microsoft\Windows\Customer Experience Improvement
Program\Consolidator" was successfully deleted.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Delete /F /TN "\Micros
oft\Windows\Application Experience\ProgramDataUpdater"
SUCCESS: The scheduled task "\Microsoft\Windows\Application Experience\ProgramDa
taUpdater" was successfully deleted.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Delete /F /TN "\Micros
oft\Windows\Application Experience\Microsoft Compatibility Appraiser"
ERROR: The system cannot find the file specified.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Delete /F /TN "\Micros
oft\Windows\Application Experience\AitAgent"
ERROR: The system cannot find the file specified.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>wusa /uninstall /kb:3068708 /qui
et /norestart

C:\Work\Tools\Debug\Windows Resource Kits\Tools>wusa /uninstall /kb:3068708 /qui
et /norestart

C:\Work\Tools\Debug\Windows Resource Kits\Tools>wusa /uninstall /kb:3022345 /qui
et /norestart

C:\Work\Tools\Debug\Windows Resource Kits\Tools>wusa /uninstall /kb:3075249 /qui
et /norestart

C:\Work\Tools\Debug\Windows Resource Kits\Tools>wusa /uninstall /kb:3080149 /qui
et /norestart

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Application Experience\AitAgent" /DISABLE
ERROR: The specified task name "\Microsoft\Windows\Application Experience\AitAge
nt" does not exist in the system.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Application Experience\Microsoft Compatibility Appraiser" /DISABLE
ERROR: The specified task name "\Microsoft\Windows\Application Experience\Micros
oft Compatibility Appraiser" does not exist in the system.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Application Experience\ProgramDataUpdater" /DISABLE
ERROR: The specified task name "\Microsoft\Windows\Application Experience\Progra
mDataUpdater" does not exist in the system.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Autochk\Proxy" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Autochk\Proxy" hav
e been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Customer Experience Improvement Program\Consolidator" /DISABLE
ERROR: The specified task name "\Microsoft\Windows\Customer Experience Improveme
nt Program\Consolidator" does not exist in the system.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Customer Experience Improvement Program\KernelCeipTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Customer Experienc
e Improvement Program\KernelCeipTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Customer Experience Improvement Program\UsbCeip" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Customer Experienc
e Improvement Program\UsbCeip" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" /DISABLE
INFO: Scheduled task "\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDi
agnosticDataCollector" has already been disabled.
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\DiskDiagnostic\Mic
rosoft-Windows-DiskDiagnosticDataCollector" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Maintenance\WinSAT" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Maintenance\WinSAT
" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\ActivateWindowsSearch" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Activ
ateWindowsSearch" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\ConfigureInternetTimeService" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Confi
gureInternetTimeService" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\DispatchRecoveryTasks" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Dispa
tchRecoveryTasks" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\ehDRMInit" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\ehDRM
Init" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\InstallPlayReady" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Insta
llPlayReady" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\mcupdate" /DISABLE
ERROR: The specified task name "\Microsoft\Windows\Media Center\mcupdate" does n
ot exist in the system.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\MediaCenterRecoveryTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Media
CenterRecoveryTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\ObjectStoreRecoveryTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Objec
tStoreRecoveryTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\OCURActivate" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\OCURA
ctivate" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\OCURDiscovery" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\OCURD
iscovery" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\PBDADiscovery" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\PBDAD
iscovery" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\PBDADiscoveryW1" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\PBDAD
iscoveryW1" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\PBDADiscoveryW2" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\PBDAD
iscoveryW2" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\PvrRecoveryTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\PvrRe
coveryTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\PvrScheduleTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\PvrSc
heduleTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\RegisterSearch" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Regis
terSearch" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\ReindexSearchRoot" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Reind
exSearchRoot" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\SqlLiteRecoveryTask" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\SqlLi
teRecoveryTask" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>schtasks /Change /TN "\Microsoft
\Windows\Media Center\UpdateRecordPath" /DISABLE
SUCCESS: The parameters of scheduled task "\Microsoft\Windows\Media Center\Updat
eRecordPath" have been changed.

C:\Work\Tools\Debug\Windows Resource Kits\Tools>sc stop Diagtrack

SERVICE_NAME: Diagtrack
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x2
        WAIT_HINT          : 0x0

C:\Work\Tools\Debug\Windows Resource Kits\Tools>sc config Diagtrack start=disabl
ed
DESCRIPTION:
        Modifies a service entry in the registry and Service Database.
USAGE:
        sc <server> config [service name] <option1> <option2>...

OPTIONS:
NOTE: The option name includes the equal sign.
      A space is required between the equal sign and the value.
 type= <own|share|interact|kernel|filesys|rec|adapt>
 start= <boot|system|auto|demand|disabled|delayed-auto>
 error= <normal|severe|critical|ignore>
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
 DisplayName= <display name>
 password= <password>

C:\Work\Tools\Debug\Windows Resource Kits\Tools>sc config Diagtrack start=disabl
ed
DESCRIPTION:
        Modifies a service entry in the registry and Service Database.
USAGE:
        sc <server> config [service name] <option1> <option2>...

OPTIONS:
NOTE: The option name includes the equal sign.
      A space is required between the equal sign and the value.
 type= <own|share|interact|kernel|filesys|rec|adapt>
 start= <boot|system|auto|demand|disabled|delayed-auto>
 error= <normal|severe|critical|ignore>
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <Dependencies(separated by / (forward slash))>
 obj= <AccountName|ObjectName>
 DisplayName= <display name>
 password= <password>

C:\Work\Tools\Debug\Windows Resource Kits\Tools>sc config remoteregistry start=
disabled
[SC] ChangeServiceConfig SUCCESS

C:\Work\Tools\Debug\Windows Resource Kits\Tools>sc config Diagtrack start= disab
led
[SC] ChangeServiceConfig SUCCESS

C:\Work\Tools\Debug\Windows Resource Kits\Tools>

Tuesday, October 20, 2015

sqlcmed and osql locations on Windows for SQL 2012 and above

FYI, MS did it again and moved the location of the SQL tools to here:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn

in it we can find:
"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\OSQL.EXE"
"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE"

 with these we can run .sql files using following format for cmd, then put the cmd in a Task Scheduler and we have a quick and easy periodic SQL polling service,

e.g:
sqlcmd.exe  -S MyServer.com  -d Dbname -U UID-P "SomePWD" -i "C:\Temp\Run.sql"

Tuesday, September 8, 2015

SQL Backup then Robo Copy

1. Create sproc to backup db's with compression, copy only options.
See THIS LINK for awesomness script
Backup MyDatabase to a local folder 'E:\SQLBackUp\':
exec [master].[dbo].[sp_BackUpDatabases] 'E:\SQLBackUp\', 'MyDatabase', @backUpType = 0, @COPY_ONLY = 1, @COMPRESSION = 1

2. Create WindowsTask/AgentJob to execute a robo copy of the .bak files to a network share:
Move 'E:\SQLBackUp\MyDatabase.bakto network share  '\\Server01\sqlbackup\Prod\ '


-- copy with eta, retries, top level folder
ROBOCOPY E:\SQLBackUp\ \\Server01\sqlbackup\Prod\ *.bak /MOV /ETA /S /R:100 /W:10 /LEV:1

-- Other robo copy examples
-- copy with eta, retries
robocopy I:\Pictures\_Monkeys\ \\doylecloud\Public\BB\Pictures\_Monkeys\ /ETA /S /R:100 /W:10

-- copy with eta, retries
robocopy I:\Pictures\ \\doylecloud\Public\BB\Pictures\ /ETA /S /R:100 /W:10

-- copy with eta, retries
robocopy I:\Pictures\_Monkeys\ \\doylecloud\Public\BB\Pictures\_Monkeys\ /S /MT /Z

-- copy with eta, retries
robocopy I:\ \\doylecloud\Public\ /ETA /S /R:100 /W:10 /Z /XD "I:\BB_HD" "I:\Pictures" "I:\PassportInstalls"

3.  To make life most easy create a SQL Agent Job,
Step 1 is exec [master].[dbo].[sp_BackUpDatabases] 'E:\SQLBackUp\', 'MyDatabase', @backUpType = 0, @COPY_ONLY = 1, @COMPRESSION = 1
Step 2 is .bat file with ROBOCOPY E:\SQLBackUp\ \\Server01\sqlbackup\Prod\ *.bak /MOV /ETA /S /R:100 /W:10 /LEV:1
Step 3. Save that money u would spend on RedGate




Tuesday, August 11, 2015

How to get rid of those SharePoint Authentication Prompts

FYI:
This isn’t SharePoint specific, however Im sure the same process could be used to save credentials for other web apps that use Windows Authentication, the below article shows how to get rid of that pesky Login prompt in SharePoint that I continuously get when editing MS Office docs in SharePoint,

It seems like every time I click to open or download an Office file in SharePoint I kept getting prompted to login after I had already checked the check box “Remember My Credential” which never seemed to work for me….Well this article worked for me, Now I don’t have to enter my UID/PWD every time I open a doc in SharePoint….Yay!

I tried this in SP2010 / IE11

Thanks!




Friday, August 7, 2015

Remoting Computing Tools: How to Awake & Sleep on schedule, KeepAlive by Mouse and Remote Awake with magic packets

Will update links shortly, below I document my current setup/tasks to awake, sleep keep alive computer for daily work, this allows me to do other tasks while these automated redundant daily shores are done for me on schedule, TimeSaved = TimeEarned,

Tools Used:
Move Mouse
NirCmd
taskkill.exe (a simple exe to call kil process by exe name or NirCmd)

1. Schedule a Sleep:

2. Schedule an Alive

3. Keep Alive with Move Mouse


4. Magic Packets using router and util
See this great article here using WakOnLoan

Monday, August 3, 2015

Improve DataObject Serialization Performance and the Gotchas

While working on a custom reporting app I came across a little ADO.Net serialization gotcha, when we use WriteXML() and ReadXML for serializing a DataSet to stream, any column with null values in all rows will be magically removed from the de-serialization! Ina  service arena, this probably isn't an issue, however when dealing with service consumers that include CSV output for users or HTML, dropping columns is a big NO NO, at least to a user, Yes the data is blank, and who really cares to look at a blank column, well report users LOVE their columns and having one disappear will result in a bug task.

After digging around, I found this stackoverflow that describes the issue, with an old invalid KB reference. The solutions remarked here are not really attractive by any means, certainly not looping over a result set just to add a String DataColumn with Empty string , yuck, Im gonna try a little Hack just to get by today: If DataTable.Rows.Count > 0, then for each DataColumn that is DBNull, set to empty string to see if that works for me. Better yet, after looking at the .Net FW, there's a param avail with 3.5+ (I believe) that does the trick:

 //convert to xml with the DataSet schema:
        StringWriter writer = new StringWriter();
        ds.WriteXml(writer, XmlWriteMode.WriteSchema);
        string xml = writer.ToString();

What the impact is on the string size Im not sure, will need to test performance before and after,

In peruzing related articles I came across a better final solution which will involve switching over to JSON, this article is a good ref for that:

8 ways to improve ASP.NET Web API performance
http://blog.developers.ba/8-ways-improve-asp-net-web-api-performance/

Lightweight DataTable Serialization
http://blogs.msdn.com/b/shitals/archive/2009/12/04/9932598.aspx




Monday, July 20, 2015

Disable Windows 10 Update Pesky Notifications

On Win7, here are steps I did to remove this painful Win10 update notification that kept popping up due to an implicit (not invited) windows update, Accidentally enabling Windows Update caused MS to install this pesky troll on my machine and Im sure U may encounter the same (I am not sure if Win8 although I assume is the same) on a Win8(.x) box:

1. Go to C:\Windows\System32\GWX take ownership to urself/admin account
2. Set permissions to Full Control Everyone
3. Kill any GWX.exe process via task manager or akin,
4. Rename the folder C:\Windows\System32\GWX to C:\Windows\System32\GWX.old\
5. Delete the Tasks under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
- backup of course this reg key
- search for *gwx*
- delete subkeys
See here for more details
6. Delete C:\Windows\System32\GWX.old\

Saturday, July 18, 2015

Thursday, July 16, 2015

Write to Event Log: Examples in C#, CMD, SQL, PS1, WMI

Couple ways to log to event log, then we can use simple filtering and alerts in EvtViewer to create a quick and dirty notification sub-system in case we dont have time to implement notifications in an app or we are using an existing app such as a COTS product, See here

Log to Event Log using:

CMD 
using eventcreate:
eventcreate /ID 755 /L APPLICATION /T INFORMATION  /SO BACKUP /D "My first log"

C# System.Diagnostics
 System.Diagnostics.EventLog.WriteEntry(source,
                        message,
                        ConvertTraceType(type),
                        eventId);

c# MS App Blocks
Logger.Write(message, LogSources.CheckSource(source), Priority.Normal, eventId, type, title, dictionary);

Logger.Write(ex, LogSources.DefaultSource(), Priority.High,
                    eventid, TraceEventType.Error, title , dictionary);

PS check source, create 
if ([System.Diagnostics.EventLog]::SourceExists($mysource) -eq $false) {
    [System.Diagnostics.EventLog]::CreateEventSource($mysource, "Application")

}

PS  log
Write-EventLog -LogName "Application" -Source $mysource -EntryType Information -EventID 100 -Message "Start logging!"
Write-EventLog –LogName Application –Source “My Script” –EntryType Information –EventID 1
 –Message “This is a test message.”

WMI
strEventDescription = "Payroll application could not be installed on " _ 
    & objNetwork.UserDomain & "\" & objNetwork.ComputerName _ 
        & " by user " & objNetwork.UserName & _
            ". Free space on each drive is: " & strDriveSpace
objShell.LogEvent EVENT_FAILED, strEventDescription
SQL (T-SQL)
  DECLARE @msg VARCHAR(100)      SELECT @msg = ERROR_Message()
    RAISERROR(@msg, 11, 1) WITH LOG
-- OR
USE master;
EXEC xp_logevent 60000, @@MESSAGE, informational
C# Ent Logging Detail:
public void EntLoggingTest03()
        {
            try
            {
                LogEntry entry = new LogEntry();
                //entry.ActivityIdString = "ActivityIdString";
                entry.AppDomainName = "AppDomainName";
                //entry.Categories.Add("DTech Data Services NOC Services");
                entry.Categories.Add(SOURCE);
                //entry.ErrorMessages = "ErrorMessages";
                entry.EventId = (int)LogEventID.FileRouterEventID.FileRouterError;
                Dictionary<stringobject> dictionary = new Dictionary<stringobject>();
                dictionary.Add("ZipFile""1.zip");
                dictionary.Add("ZipURI"@"C:\Tamepo");
                entry.ExtendedProperties = dictionary;
                //entry.LoggedSeverity = "LoggedSeverity";
                entry.MachineName = "Me";
                entry.Message = "a msg";
                entry.Priority = 1;
 
                entry.ProcessName = "DTech.Util.Data.Test?";
                entry.Severity = TraceEventType.Warning;
 
                Logger.Write(entry);
 
                //                throw new ArgumentException("InsertEventLogErrorTest00 EXCEPTION");
            }
            catch (Exception ex)
            {
 
                handleException(ex);
            }
            Assert.IsTrue(true);
        }
How to use EntLib (old directions)
 /// 1) Download April or May 2007 Enterprise Lib : 
    ///     URL : http://msdn.microsoft.com/en-us/library/aa480453.aspx

    ///     
    /// Steps to use Ent Lib Logging!
    /// 1) Open your or add an app.config to your app.
    /// 2) Add Reference to 
    ///     Microsoft.Practices.EnterpriseLibrary.Logging (C:\Program Files\Microsoft Enterprise Library 3.0 - April 2007\Bin\)
    ///     Microsoft.Practices.EnterpriseLibrary.Common.dll: (C:\Program Files\Microsoft Enterprise Library 3.0 - April 2007\Bin\)
    ///     Microsoft.Practices.EnterpriseLibrary.Data.dll: C:\Program Files\Microsoft Enterprise Library 3.0 - April 2007\Bin\
    /// 3) Open your App.Config and the App.Config from this app (DTech.Logging.Test.config)
    /// 4) Copy the following from this app's App.config to your App.config
    ///         - /configuration/configSections 
    ///         - /configuration/loggingConfiguration
    ///  5) Open the Ent Lib Config Tool: EntLibConfig.exe : "C:\Program Files\Microsoft Enterprise Library 3.0 - April 2007\Bin\
    ///         - Open your app.config and go to Logginng Application Block|Category Sources

    ///  6) You are now done and your app is ready to use the Entreprise Library Logging Block!
    ///  
    /// Why should you use Ent Lib for Logging?
    /// 1) Saves time
    /// 2) Easy to use
    /// 3) Change logging destination without change to code
    /// 4) Only need to reference 3 dll's to work
    /// 5) Log to DB and Event log with ease
    /// 6) Consistent and stable design
    /// 7) Your app will have an automatic UI to manage your config file.
    /// 8) Administration of Logging Destination via Rich UI, no need to change code
    /// 9) Extensible

Sunday, July 5, 2015

Private Cloud: How to use our home cloud

I ended up getting a 4TB Sea-gate cloud NAS (Network Attached Device) after a somewhat arduous setup, which included setting up the private shares and remote access, I got the opportunity to start adding the shares for our home network, To make it easier for the family, I have create the following simple guide and video for the family which shows set by step how to access the cloud from you home computer,

A summary of the steps is as follows:

Access Cloud from Home Computer:
1) Open windows explorer
2) Click Network
3) Click DoyleCloud
4) You will see a folder with your name (Private Share) and a Public folder.
5) To access your private share, click on the folder and you will be prompted with network login,
this where you will enter your network cloud login for example :
User Name: DoyleCloud\Jadon
Password: #####\

Here is a link to a video that shows step by step:



Access Cloud from Web (on the road)
1. Browse to https://remoteaccess.tappin.com/login
2. Enter your remote cloud login
3. You can now access your private folder and Public share !
4. You will see the below screen (should)



Thursday, June 18, 2015

How to configure Outlook 2010 with Office 365 Outlook

To configure Outlook 2010 with Office 365 Outlook is a PAIN in ass, here is how to save time and headache (cuz I already took the headache):

Follow Steps Below: (Click Images below to view larger)
1. Login to Office 365, get your pop3/smtp settings like so:




Sunday, April 5, 2015

Chrome and JQuery Debugging Tips and Tools

Console Debugging Must Have: show array as table


Can't Live Without POSTMAN! Forget Fiddler!
https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?utm_source=chrome-app-launcher-info-dialog


JS Dev Docs
https://developer.chrome.com/devtools/docs/javascript-debugging
https://blog.mariusschulz.com/2013/11/13/advanced-javascript-debugging-with-consoletable

Extenstions Im using:
See all JQ Events on page!
http://www.sprymedia.co.uk/article/Visual+Event
https://chrome.google.com/webstore/detail/visual-event/pbmmieigblcbldgdokdjpioljjninaim?utm_source=chrome-app-launcher-info-dialog


JQuery Selector Help:

Get JQuery Selector of any element (time saver big time)
https://chrome.google.com/webstore/detail/selector-assistant/ckdgigcpjmambfmbabgjmmcicnnkjemi?utm_source=chrome-app-launcher-info-dialog

Alternative to above, just as good!
https://chrome.google.com/webstore/detail/selector-assistant/ckdgigcpjmambfmbabgjmmcicnnkjemi?utm_source=chrome-app-launcher-info-dialog

Utils:

Copy HTML table as text tool:
https://chrome.google.com/webstore/detail/table-capture/iebpjdmgckacbodjpijphcplhebcmeop?utm_source=chrome-app-launcher-info-dialog


Auto refresh (saves time when testing web apps)
https://chrome.google.com/webstore/detail/easy-auto-refresh/aabcgdmkeabbnleenpncegpcngjpnjkc?utm_source=chrome-app-launcher-info-dialog

Tuesday, March 31, 2015

SharePoint 2013 Designer Workflow Error : the attempted operation is prohibited because it exceeds the list view threshold

Hello
After some trial and error and tracing I found that the cause of a SharePoint Designer Workflow error: 
"...the attempted operation is prohibited because it exceeds the list view threshold..."

Summary:
This error appears when trying to edit any action that has  a string builder, resulting in a delay, an error prompt and the inability to edit an exiting string.

Cause
The cause is a call to an existing SharePoint 2010 Workflow which results with the below error showing in the Designer. 

Workaround:
A simple re-name of the  SharePoint 2010 Workflow resolves the error, the underlying causing in SP is unknown at this time, however this work-around will allow you to edit your workflow without error. 

See below document for full details.

Sunday, March 1, 2015

How to make Visual Studio 2012 look like 2010 in 3 steps

Tired of 2012 VS.net look and feel? Well change it to preference or in my case change it to 2010:

1. Icons: get rid of the 2012 icons, restore with 2010
2. Color: Get rid of the gnarly Theme and go back to Blue from 2010
3. Text: get rid of the ALL upper case labels (yuk!!)

Here are the tools I did for each:
1. Icons: Download, extract Visual Studio Icon Patcher - http://vsip.codeplex.com
extract
run cmd:
VSIP.exe extract
VSIP.exe inject

2. Color: Download Theme Editor: (2.2 has Blue, latest does not, dont ask me why?)
http://mirror.nienbo.com/visualstudio-extensions/ColorThemeEditor.vsix

Install and set theme to blue, e.g:
http://prntscr.com/6bmj11


3.: Text: Regedit and then this simple DWORD:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General\SuppressUppercaseConversion 
REG_DWORD value: 1
per:
http://www.richard-banks.org/2012/06/how-to-prevent-visual-studio-2012-all.html


4. end result:

Monday, February 16, 2015

TextPad Encrypt Decrypt Text File AddOn

Summary|:
Author: Jason Doyle
Purpose: To provide encrypt/decrypt text file functionality in the awesome text file editor Textpad!
This AddOn shall allow ad-hoc securing of files. Uses RSA encryption provider for encrypt/decrypt of text files.
PreReqs: Win 7 or above w/ .Net FW

How To Install/Use:
1.      Download and unzip to dir (e.g: C:\TextPadAddons\)
      Open TextpadEncDec.ReadMe.rtf to view figures/screen shots for install.

2.      Open text pad, Configure | Preferences,
3.      Add Program
4.      Add Following Paths:
a.      {InstallDir}" \TextpadEncDec\TextPad.Encrypt.Run.bat"
b.      "{InstallDir}\TextpadEncDec\TextPad.Decrypt.Run.bat"
5.      Tools menu will now have 2 new  tools!
6.      Open or create a new text file
7.      To Encrypt: Add some text, click Tools | TextPad.Encrypt.Run to encrypt
a.      See Figure 6 and 7
b.      The document is encrypted and saved,
c.      Text shall Reload the document
d.      Don’t edit the encrypted content
e.      Your document is now secure
8.      To Decrypt:   Open the file encrypted in step above
a.      Click Tools | TextPad.Decrypt.Run to decrypt
b.      File is decrypted, and original contents are shown!


Tuesday, January 27, 2015

Macro to get around: Outlook Issue : "Send Time" time stamp information is incorrect when you send a delayed delivery message in Outlook

' UPDATED 20160302 to include capability to support specific Outlook Accounts, Set the ACCOUNT_NAME const to mailbox, macro will run in that context.

Download latest here: 

'******************
' This macro module was created because Outlook DeferredDelivery sets the SendTime to the time you click Send not the actual time  the email leaves the Outbox
' SEE HERE: http://support.microsoft.com/kb/247176

' So I created this macro, download below,

'   DeferSendWithRealSentTime
'   This Module will check outbox if item has DeferredDelivery time set then this macro will send that item to recipients with the REAL SEND Time

'   To automate this we use a periodic function via win32/64 Timer will poll outbox every 1 min
'   Items with Defered Deliv set and now is within 10 min of Defered Deliv, this will clone the email item, send it.


Example of how it works:
In Outlook:
Create new email set DelayDeliverTime to something like for example:
As an example Times:
DeferDeliveryTime: 3:00PM
now is 2:30PM
Click Send
At 2:50PM the macro will fire, the email will be sent to recipients and the SentTime will be 2:50PM and NOT 2:30!!!!!!! Voila the MS issue is fixed.


Related MS Issue:  "Send Time" time stamp information is incorrect when you send a delayed delivery message in Outlook


Download the Macro Here, Unzip and add to Outlook!



'   Cloned Item will then appear in SentItems and Original will appear Deleted Items
'    SEE CheckOutbox() code
'
'   Version: BETA
'   Date: 20150127
'   Author: jrd
'   Supports:
OL 2010 and above (tested with 2010)
32 and 64 bit!
'   Known Issues:
'       Embedded images show as attachement
'       Need testing with more Exchange versions
' ******************



Thursday, January 15, 2015

SharePoint 2010/2013 Library Does not Open in Windows Explorer

Its great using the drag/drop features of the shell with SP, however if some pre-req's are not installed then the Toolbar item will not be enabled and we can't use the lovely "windows explorer browse SharePoint document library" feature.

Working on a servers via RDP I have run across this several times where the toolbar item is greyed out, after trial and tribulations here was a solution I found that worked:

1. Make sure the The WebClient Service  feature is added to the Win2008 server (and maybe 2012 server via Desktop Experience feature?) 
2. Ensure the SP Site is added to trusted sites
3. Use IE 7 or above

The toolbar item Open in Explorer should then be enabled. 
See more here:
http://www.sharepointgeoff.com/getting-the-sharepoint-windows-file-explorer-to-work-in-a-server-2012-sandbox/