<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Code on Chris McKelt - Remembering Thoughts</title><link>https://blog.smarttechventures.au/tags/code/</link><description>Recent content in Code on Chris McKelt - Remembering Thoughts</description><generator>Hugo -- 0.147.2</generator><language>en</language><lastBuildDate>Mon, 15 Apr 2013 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.smarttechventures.au/tags/code/index.xml" rel="self" type="application/rss+xml"/><item><title>Powershell &amp; SVN – Export files to CSV</title><link>https://blog.smarttechventures.au/articles/posts/powershell-svn-export-files-to-csv/</link><pubDate>Mon, 15 Apr 2013 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/powershell-svn-export-files-to-csv/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>Function Get-SvnLogData()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ([xml](svn log -v --xml &amp;#39;http://svn/trunk&amp;#39;)).log.logentry | % {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $nestedEntry = $_
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $_.paths.path | % {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $path = $_
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $nestedEntry | Select-Object -Property `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Author, `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{n=&amp;#39;Revision&amp;#39;; e={([int]$_.Revision)}}, `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{n=&amp;#39;Date&amp;#39;; e={Get-Date $_.Date }}, `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{n=&amp;#39;Action&amp;#39;; e={$path.action }}, `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{n=&amp;#39;Path&amp;#39;; e={$path.InnerText }}`
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get-SvnLogData |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>where { $_.Date -ge (Get-Date &amp;#39;16-04-2013&amp;#39;) } |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Select-Object Revision,Date,Path,Author |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sort -property `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{ Expression=&amp;#34;Path&amp;#34;; Descending=$false }, `
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> @{ Expression=&amp;#34;Revision&amp;#34;; Descending=$true } |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Export-CSV c:\test.csv
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>NServiceBus Powershell Install</title><link>https://blog.smarttechventures.au/articles/posts/nservicebus-powershell-install/</link><pubDate>Sun, 03 Mar 2013 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/nservicebus-powershell-install/</guid><description>&lt;h2 id="nservicebus-powershell-install">NServiceBus PowerShell Install&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>$Arguments = &amp;#39;/install /startManually /serviceName:{0} /displayName:{0} NServiceBus.Production /username:{1} /password:{2}&amp;#39; -f &amp;#39;McKelt.securitytokenservice.nservicebus.messagehandler&amp;#39;, &amp;#39;xxxx@au.McKelt.net&amp;#39;, &amp;#39;PasswordGoesHere&amp;#39;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$nServiceBus = Resolve-Path -Path nServiceBus.Host.exe;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Write-Host -Object (&amp;#39;Argument string is: {0}&amp;#39; -f $Arguments);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Write-Host -Object (&amp;#39;Path to nServiceBus.Host.exe is: {0}&amp;#39; -f $nServiceBus);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Start-Process -Wait -NoNewWindow -FilePath $nServiceBus -ArgumentList $Arguments -RedirectStandardOutput tmp.txt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Powershell script to delete mail from specific folder</title><link>https://blog.smarttechventures.au/articles/posts/powershell-script-to-delete-mail-from-specific-folder/</link><pubDate>Thu, 18 Oct 2012 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/powershell-script-to-delete-mail-from-specific-folder/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>function Remove-MailItem {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [CmdletBinding(SupportsShouldProcess=$true)]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>param (
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [parameter(Mandatory=$true)]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [string]$mailfolder,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [string]$parentfolder
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ol = new-object -comobject &amp;#34;Outlook.Application&amp;#34;;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Map to the MAPI namespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$mapi = $ol.getnamespace(&amp;#34;mapi&amp;#34;);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$targetfolder = &amp;#39;&amp;#39;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>if ($parentfolder.Length -eq 0)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $targetfolder = $mapi.Folders.Item(1).Folders.Item(&amp;#34;Inbox&amp;#34;).Folders.Item($mailfolder)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>else
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $targetfolder = $mapi.Folders.Item(1).Folders.Item(&amp;#34;Inbox&amp;#34;).Folders.Item($parentfolder).Folders.Item($mailfolder)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>foreach ($item in $targetfolder.Items) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> try {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> $item.Delete()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> catch [Exception]{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Write-Host &amp;#34;Failed to delete item: &amp;#34; + $item.Subject
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Write-Host $_.Exception.ToString()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>function Clear-DeletedMail {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$outlook = New-Object -ComObject Outlook.Application
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>foreach ($folder in $outlook.Session.Folders){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> foreach($mailfolder in $folder.Folders ) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> if ($mailfolder.Name -eq &amp;#34;Deleted Items&amp;#34; -and $mailfolder.Items.Count -gt 0){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> foreach ($item in $mailfolder.Items){$item.Delete()}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;Cafe&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;COLSupport&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;Failed Logins&amp;#34; -parentfolder &amp;#34;COLSupport&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;IISReset&amp;#34; -parentfolder &amp;#34;COLSupport&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;Not Urgent&amp;#34; -parentfolder &amp;#34;COLSupport&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Remove-MailItem -mailfolder &amp;#34;Production&amp;#34; -parentfolder &amp;#34;COLSupport&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img alt="image" loading="lazy" src="https://user-images.githubusercontent.com/662868/120943129-9de84e80-c75f-11eb-8afe-d55f54735e3f.png">&lt;/p></description></item><item><title>Round house and powershell</title><link>https://blog.smarttechventures.au/articles/posts/round-house-and-powershell/</link><pubDate>Wed, 20 Jun 2012 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/round-house-and-powershell/</guid><description>&lt;p>Using &lt;a href="https://github.com/chucknorris/roundhouse" title="https://github.com/chucknorris/roundhouse" target="_blank">https://github.com/chucknorris/roundhouse&lt;/a> for powershell to get automated database change management&lt;/p>
&lt;pre>&lt;code>Task UpgradeDatabase{
if (($environment -eq 'integration') -or ($environment -eq 'uat'))
{
# round house variables
$rh = &amp;quot;C:\\dev\\Phoenix\\trunk\\Tools\\RoundhousE\\console\\rh.exe&amp;quot;
$connectionString = &amp;quot;Data Source=localhost;Database=XXX; User Id=XXXuser; Password=XXX;Connect Timeout=100;&amp;quot;
$indexesFolder = &amp;quot;C:\\dev\\Phoenix\\trunk\\Database\\10-Indexes&amp;quot;
$schemaChangesFolder = &amp;quot;C:\\dev\\Phoenix\\trunk\\Database\\11-SchemaChanges&amp;quot;
## build server?
if (Test-Path &amp;quot;D:\\Code\\&amp;quot;)
{
$rh = &amp;quot;D:\\Code\\Phoenix\\trunk\\Tools\\RoundhousE\\console\\rh.exe&amp;quot;
$indexesFolder = &amp;quot;D:\\Code\\Phoenix\\trunk\\Database\\10-Indexes&amp;quot;
$schemaChangesFolder = &amp;quot;D:\\Code\\Phoenix\\trunk\\Database\\11-SchemaChanges&amp;quot;
if ($environment -eq 'integration')
{
$connectionString = &amp;quot;Data Source=xxxxx;Database=rrrr\_Integration; User Id=rrrr; Password=rrrr;&amp;quot;
}
else
{
$connectionString = &amp;quot;Data Source=xxxx;Database=rrrrr\_UAT; User Id=rrrrr; Password=rrrrr;&amp;quot;
}
}
Write\-Host &amp;quot;Database upgrade started&amp;quot;
$s1 = &amp;quot; -c &amp;quot;
$s2 = &amp;quot; $connectionString &amp;quot;
$s3 = &amp;quot; -ix &amp;quot;
$s4 = &amp;quot;$indexesFolder&amp;quot;
$s5 = &amp;quot; -u &amp;quot;
$s6 = &amp;quot;$schemaChangesFolder&amp;quot;
$args = $s1 + &amp;quot; &amp;quot;&amp;quot;$s2&amp;quot; &amp;quot;&amp;quot; + $s3 + &amp;quot; &amp;quot;&amp;quot;$s4&amp;quot; &amp;quot;&amp;quot; + $s5 + &amp;quot; &amp;quot;&amp;quot;$s6&amp;quot;&amp;quot;&amp;quot; + &amp;quot; -ni -ct 300&amp;quot;
Write\-Host $args
Start-Process -FilePath $rh -ArgumentList $args -PassThru
Write\-Host &amp;quot;Database upgrade complete&amp;quot;
}
}
&lt;/code>&lt;/pre>
&lt;p> 
The following tables are created&lt;/p></description></item><item><title>Converting ints to char</title><link>https://blog.smarttechventures.au/articles/posts/converting-ints-to-char/</link><pubDate>Thu, 26 Jun 2008 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/converting-ints-to-char/</guid><description>&lt;h1 id="converttochar34tostring">Convert.ToChar(34).ToString()&lt;/h1>
&lt;p>Converting the corresponding number to an character 
 &lt;/p>
&lt;p>33 = &lt;strong>!&lt;/strong>&lt;br>
34 = &lt;strong>&amp;quot;&lt;/strong>&lt;br>
35 = &lt;strong>#&lt;/strong>&lt;br>
36 = &lt;strong>$&lt;/strong>&lt;br>
37 = &lt;strong>%&lt;/strong>&lt;br>
38 = &lt;strong>&amp;amp;&lt;/strong>&lt;br>
39 = &lt;strong>&amp;rsquo;&lt;/strong>&lt;br>
40 = &lt;strong>(&lt;/strong>&lt;br>
41 = &lt;strong>)&lt;/strong>&lt;br>
42 = &lt;strong>*&lt;/strong>&lt;br>
43 = &lt;strong>+&lt;/strong>&lt;br>
44 = &lt;strong>,&lt;/strong>&lt;br>
45 = &lt;strong>-&lt;/strong>&lt;br>
46 = &lt;strong>.&lt;/strong>&lt;br>
47 = &lt;strong>/&lt;/strong>&lt;br>
48 = &lt;strong>0&lt;/strong>&lt;br>
49 = &lt;strong>1&lt;/strong>&lt;br>
50 = &lt;strong>2&lt;/strong>&lt;br>
51 = &lt;strong>3&lt;/strong>&lt;br>
52 = &lt;strong>4&lt;/strong>&lt;br>
53 = &lt;strong>5&lt;/strong>&lt;br>
54 = &lt;strong>6&lt;/strong>&lt;br>
55 = &lt;strong>7&lt;/strong>&lt;br>
56 = &lt;strong>8&lt;/strong>&lt;br>
57 = &lt;strong>9&lt;/strong>&lt;br>
58 = &lt;strong>:&lt;/strong>&lt;br>
59 = &lt;strong>;&lt;/strong>&lt;br>
60 = &lt;strong>&amp;lt;&lt;/strong>&lt;br>
61 = &lt;strong>=&lt;/strong>&lt;br>
62 = &lt;strong>&amp;gt;&lt;/strong>&lt;br>
63 = &lt;strong>?&lt;/strong>&lt;br>
64 = &lt;strong>@&lt;/strong>&lt;br>
65 = &lt;strong>A&lt;/strong>&lt;br>
66 = &lt;strong>B&lt;/strong>&lt;br>
67 = &lt;strong>C&lt;/strong>&lt;br>
68 = &lt;strong>D&lt;/strong>&lt;br>
69 = &lt;strong>E&lt;/strong>&lt;br>
70 = &lt;strong>F&lt;/strong>&lt;br>
71 = &lt;strong>G&lt;/strong>&lt;br>
72 = &lt;strong>H&lt;/strong>&lt;br>
73 = &lt;strong>I&lt;/strong>&lt;br>
74 = &lt;strong>J&lt;/strong>&lt;br>
75 = &lt;strong>K&lt;/strong>&lt;br>
76 = &lt;strong>L&lt;/strong>&lt;br>
77 = &lt;strong>M&lt;/strong>&lt;br>
78 = &lt;strong>N&lt;/strong>&lt;br>
79 = &lt;strong>O&lt;/strong>&lt;br>
80 = &lt;strong>P&lt;/strong>&lt;br>
81 = &lt;strong>Q&lt;/strong>&lt;br>
82 = &lt;strong>R&lt;/strong>&lt;br>
83 = &lt;strong>S&lt;/strong>&lt;br>
84 = &lt;strong>T&lt;/strong>&lt;br>
85 = &lt;strong>U&lt;/strong>&lt;br>
86 = &lt;strong>V&lt;/strong>&lt;br>
87 = &lt;strong>W&lt;/strong>&lt;br>
88 = &lt;strong>X&lt;/strong>&lt;br>
89 = &lt;strong>Y&lt;/strong>&lt;br>
90 = &lt;strong>Z&lt;/strong>&lt;br>
91 = &lt;strong>[&lt;/strong>&lt;br>
92 = &lt;strong>\&lt;/strong>&lt;br>
93 = &lt;strong>]&lt;/strong>&lt;br>
94 = &lt;strong>^&lt;/strong>&lt;br>
95 = &lt;strong>_&lt;/strong>&lt;br>
96 = &lt;strong>`&lt;/strong>&lt;br>
97 = &lt;strong>a&lt;/strong>&lt;br>
98 = &lt;strong>b&lt;/strong>&lt;br>
99 = &lt;strong>c&lt;/strong>&lt;br>
100 = &lt;strong>d&lt;/strong>&lt;br>
101 = &lt;strong>e&lt;/strong>&lt;br>
102 = &lt;strong>f&lt;/strong>&lt;br>
103 = &lt;strong>g&lt;/strong>&lt;br>
104 = &lt;strong>h&lt;/strong>&lt;br>
105 = &lt;strong>i&lt;/strong>&lt;br>
106 = &lt;strong>j&lt;/strong>&lt;br>
107 = &lt;strong>k&lt;/strong>&lt;br>
108 = &lt;strong>l&lt;/strong>&lt;br>
109 = &lt;strong>m&lt;/strong>&lt;br>
110 = &lt;strong>n&lt;/strong>&lt;br>
111 = &lt;strong>o&lt;/strong>&lt;br>
112 = &lt;strong>p&lt;/strong>&lt;br>
113 = &lt;strong>q&lt;/strong>&lt;br>
114 = &lt;strong>r&lt;/strong>&lt;br>
115 = &lt;strong>s&lt;/strong>&lt;br>
116 = &lt;strong>t&lt;/strong>&lt;br>
117 = &lt;strong>u&lt;/strong>&lt;br>
118 = &lt;strong>v&lt;/strong>&lt;br>
119 = &lt;strong>w&lt;/strong>&lt;br>
120 = &lt;strong>x&lt;/strong>&lt;br>
121 = &lt;strong>y&lt;/strong>&lt;br>
122 = &lt;strong>z&lt;/strong>&lt;br>
123 = &lt;strong>{&lt;/strong>&lt;br>
124 = &lt;strong>|&lt;/strong>&lt;br>
125 = &lt;strong>}&lt;/strong>&lt;br>
126 = &lt;strong>~&lt;/strong>&lt;/p></description></item></channel></rss>