tag:blogger.com,1999:blog-5460368737988324532024-03-05T16:34:14.927-08:00PowerShell Scripts BlogThis blog contains PowerShell scripts, more PowerShell scripts and still more PowerShell scripts. Occasionally you may see some organisational posts.Unknownnoreply@blogger.comBlogger309125tag:blogger.com,1999:blog-546036873798832453.post-48043107769973078212018-10-04T06:44:00.003-07:002018-10-04T06:45:31.663-07:00Install RSAT Tools on Windows 10<div dir="ltr" style="text-align: left;" trbidi="on">
I've written a short script to download and install the RSAT tools for Windows 10. This script works on the recent versions of Windows 10 only! Here goes:<br />
<br />
<div style="background-color: #fffffe; color: #333333; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;">
<div>
<span style="color: darkgreen; font-style: italic;"># Install-RSATTools.PS1</span></div>
<div>
<span style="color: darkgreen; font-style: italic;"># Thomas Lee - doctordns@gmail.com</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 1. Get Windows Client Version and Hardware platform</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Key</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span> <span style="color: darkgrey;">=</span> <span style="color: black;">(</span><span style="color: blue;">Get-ItemProperty</span> <span style="color: darkgrey;">-</span>Path <span style="color: darkblue;">$</span><span style="color: orangered;">Key</span><span style="color: black;">)</span>.ReleaseId</div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Platform</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">ENV:PROCESSOR_ARCHITECTURE</span></div>
<div>
<span style="color: darkred;">"Windows Client Version : </span><span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span><span style="color: darkred;">"</span></div>
<div>
<span style="color: darkred;">"Hardware Platform : </span><span style="color: darkblue;">$</span><span style="color: orangered;">Platform</span><span style="color: darkred;">"</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 2. Create URL for download file</span></div>
<div>
<span style="color: darkgreen; font-style: italic;"># NB: only works with 1709 and 1803.</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">LP1</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'https://download.microsoft.com/download/1/D/8/'</span><span style="color: darkgrey;">+</span></div>
<div>
<span style="color: darkred;">'1D8B5022-5477-4B9A-8104-6A71FF9D98AB/'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Lp180364</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'WindowsTH-RSAT_WS_1803-x64.msu'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Lp170964</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'WindowsTH-RSAT_WS_1709-x64.msu'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Lp180332</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'WindowsTH-RSAT_WS_1803-x86.msu'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Lp170932</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'WindowsTH-RSAT_WS_1709-x86.msu'</span></div>
<div>
<span style="color: darkblue;">If</span> <span style="color: black;">(</span><span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span> <span style="color: darkgrey;">-eq</span> <span style="color: purple;">1803</span> <span style="color: darkgrey;">-and</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Platform</span> <span style="color: darkgrey;">-eq</span> <span style="color: darkred;">'AMD64'</span><span style="color: black;">)</span> <span style="color: black;">{</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Lp1</span> <span style="color: darkgrey;">+</span> <span style="color: darkblue;">$</span><span style="color: orangered;">lp180364</span><span style="color: black;">}</span></div>
<div>
<span style="color: darkblue;">ELSEIf</span> <span style="color: black;">(</span><span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span> <span style="color: darkgrey;">-eq</span> <span style="color: purple;">1709</span> <span style="color: darkgrey;">-and</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Platform</span> <span style="color: darkgrey;">-eq</span> <span style="color: darkred;">'AMD64'</span><span style="color: black;">)</span> <span style="color: black;">{</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Lp1</span> <span style="color: darkgrey;">+</span> <span style="color: darkblue;">$</span><span style="color: orangered;">lp170964</span><span style="color: black;">}</span></div>
<div>
<span style="color: darkblue;">ElseIf</span> <span style="color: black;">(</span><span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span> <span style="color: darkgrey;">-eq</span> <span style="color: purple;">1803</span> <span style="color: darkgrey;">-and</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Platform</span> <span style="color: darkgrey;">-eq</span> <span style="color: darkred;">'X86'</span><span style="color: black;">)</span> <span style="color: black;">{</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Lp1</span> <span style="color: darkgrey;">+</span> <span style="color: darkblue;">$</span><span style="color: orangered;">lp180332</span><span style="color: black;">}</span></div>
<div>
<span style="color: darkblue;">ElseIf</span> <span style="color: black;">(</span><span style="color: darkblue;">$</span><span style="color: orangered;">CliVer</span> <span style="color: darkgrey;">-eq</span> <span style="color: purple;">1709</span> <span style="color: darkgrey;">-and</span> <span style="color: darkblue;">$</span><span style="color: orangered;">platform</span> <span style="color: darkgrey;">-eq</span> <span style="color: darkred;">'x86'</span><span style="color: black;">)</span> <span style="color: black;">{</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">Lp1</span> <span style="color: darkgrey;">+</span> <span style="color: darkblue;">$</span><span style="color: orangered;">lp170932</span><span style="color: black;">}</span></div>
<div>
<span style="color: darkblue;">Else</span> <span style="color: black;">{</span><span style="color: darkred;">"Version </span><span style="color: darkblue;">$</span><span style="color: orangered;">cliver</span><span style="color: darkred;"> - unknown"</span><span style="color: darkblue;">;</span> <span style="color: darkblue;">return</span><span style="color: black;">}</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 3. Display the download details</span></div>
<div>
<span style="color: darkred;">"RSAT MSU file to be downloaded:"</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 4. Use BITS to download the file</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">DLFile</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'C:\foo\Rsat.msu'</span></div>
<div>
<span style="color: blue;">Start-BitsTransfer</span> <span style="color: darkgrey;">-</span>Source <span style="color: darkblue;">$</span><span style="color: orangered;">DLPath</span> <span style="color: darkgrey;">-</span>Destination <span style="color: darkblue;">$</span><span style="color: orangered;">DLFile</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 5. Check Authenticode signature</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Authenticatefile</span> <span style="color: darkgrey;">=</span> <span style="color: blue;">Get-AuthenticodeSignature</span> <span style="color: darkblue;">$</span><span style="color: orangered;">DLFile</span></div>
<div>
<span style="color: darkblue;">If</span> <span style="color: black;">(</span><span style="color: darkblue;">$</span><span style="color: orangered;">Authenticatefile</span><span style="color: blue;">.status</span> <span style="color: darkgrey;">-NE</span> <span style="color: darkred;">"Valid"</span><span style="color: black;">)</span></div>
<div>
<span style="color: black;">{</span><span style="color: darkred;">'File downloaded fails Authenticode check'</span><span style="color: black;">}</span></div>
<div>
<span style="color: darkblue;">Else</span></div>
<div>
<span style="color: black;">{</span><span style="color: darkred;">'Downloaded file passes Authenticode check'</span><span style="color: black;">}</span></div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 6. Install the RSAT tools</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">WusaArguments</span> <span style="color: darkgrey;">=</span> <span style="color: darkblue;">$</span><span style="color: orangered;">DLFile</span> <span style="color: darkgrey;">+</span> <span style="color: darkred;">" /quiet"</span></div>
<div>
<span style="color: darkred;">'Installing RSAT for Windows 10 - Please Wait...'</span></div>
<div>
<span style="color: darkblue;">$</span><span style="color: orangered;">Path</span> <span style="color: darkgrey;">=</span> <span style="color: darkred;">'C:\Windows\System32\wusa.exe'</span> </div>
<div>
<span style="color: blue;">Start-Process</span> <span style="color: darkgrey;">-</span>FilePath <span style="color: darkblue;">$</span><span style="color: orangered;">Path</span> <span style="color: darkgrey;">-</span>ArgumentList <span style="color: darkblue;">$</span><span style="color: orangered;">WusaArguments</span> <span style="color: darkgrey;">-</span>Wait</div>
<br />
<div>
<span style="color: darkgreen; font-style: italic;"># 7. Get RSAT Modules</span></div>
<div>
<span style="color: blue;">Get-Module</span> <span style="color: darkgrey;">-</span>Listavailable <span style="color: darkgrey;">|</span> <span style="color: blue;">Where-Object</span> Name <span style="color: darkgrey;">-like</span> <span style="color: darkred;">'*rsat*'</span></div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-81500516742480617612015-02-06T11:49:00.001-08:002016-08-11T07:56:04.639-07:00Install-RMAzureVmCert<pre style="background: #ffffff; color: #000000"><html><pre>Function Install<span style="color: #808030">-</span>WinRMAzureVmCert <span style="color: #800080">{</span><br><span style="color: #808030"><</span>#<br><span style="color: #808030">.</span>SYNOPSIS<br> Downloads and installs the certificate created or <br> initially uploaded during creation of a Windows based<br> Azure Virtual Machine<span style="color: #808030">.</span><br><span style="color: #808030">.</span>DESCRIPTION<br> Downloads and installs the certificate created <span style="color: #808030">(</span>or uploaded<span style="color: #808030">)<br> </span> during the creation of a Windows based Azure Virtual Machine<span style="color: #808030">.</span> <br> Running this function obtains and installs the certificate into<br> your local machine certificate store<span style="color: #808030">.</span> Writing to the localhost's<br> cert store requires PowerShell to run elevated<span style="color: #808030">.</span> Once the<br> certificate <span style="font-weight: bold; color: #800000">is</span> installed<span style="color: #808030">,</span> you can connect to Azure VMs using SSL<br> to improve security<span style="color: #808030">.</span> <br><span style="color: #808030">.</span>NOTES<br> File Name <span style="color: #808030">:</span> Install<span style="color: #808030">-</span>WinRmAzureVmCert<span style="color: #808030">.</span>ps1<br> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br> Requires <span style="color: #808030">:</span> PowerShell Version <span style="color: #008000">3.0</span><span style="color: #808030">,</span> Azure module <span style="color: #008000">8.12</span><br> Tested <span style="color: #808030">:</span> PowerShell Version <span style="color: #008c00">5</span><br><span style="color: #808030">.</span>PARAMETER SubscriptionName<br> The name of the Azure subscription whose VMs you want to get<br> certificates from<span style="color: #808030">.</span> Use quotes around subscription names<br> containing spaces<span style="color: #808030">.</span><br><span style="color: #808030">.</span>PARAMETER ServiceName<br> The name of the Azure cloud service the <span style="font-weight: bold; color: #800000">virtual</span> machine <span style="font-weight: bold; color: #800000">is<br> </span> deployed in<span style="color: #808030">.</span><br><span style="color: #808030">.</span>PARAMETER VmName<br> The name of the Azure <span style="font-weight: bold; color: #800000">virtual</span> machine to install the <br> certificate for<span style="color: #808030">.</span> <br><span style="color: #808030">.</span>EXAMPLE<br> Install<span style="color: #808030">-</span>WinRmAzureVMCert <span style="color: #808030">-</span>SubscriptionName <span style="color: #800000">"</span><span style="color: #0000e6">my subscription</span><span style="color: #800000">"</span> `<br> <span style="color: #808030">-</span>ServiceName <span style="color: #800000">"</span><span style="color: #0000e6">mycloudservice</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>Name <span style="color: #800000">"</span><span style="color: #0000e6">myvm1</span><span style="color: #800000">"</span> <br>#<span style="color: #808030">></span><br><span style="color: #808030">[</span>Cmdletbinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br>param<span style="color: #808030">(</span><br><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $SubscriptionName<span style="color: #808030">,</span> <br><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $CloudServiceName<span style="color: #808030">,</span> <br><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $VMName<span style="color: #808030">)</span><br><br>Function IsAdmin<br><span style="color: #800080">{</span><br>Write<span style="color: #808030">-</span>Verbose 'Checking user <span style="font-weight: bold; color: #800000">is</span> an Admin'<br>$IsAdmin <span style="color: #808030">=</span> <span style="color: #808030">(</span><span style="color: #808030">[</span>Security<span style="color: #808030">.</span>Principal<span style="color: #808030">.</span>WindowsPrincipal<span style="color: #808030">]</span><span style="color: #808030">[</span>Security<span style="color: #808030">.</span>Principal<span style="color: #808030">.</span>WindowsIdentity<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>GetCurrent<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">)</span><span style="color: #808030">.</span>IsInRole<span style="color: #808030">(</span><span style="color: #808030">[</span>Security<span style="color: #808030">.</span>Principal<span style="color: #808030">.</span>WindowsBuiltInRole<span style="color: #808030">]</span> <span style="color: #800000">"</span><span style="color: #0000e6">Administrator</span><span style="color: #800000">"</span><span style="color: #808030">)</span> <br>Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">User is admin: [$IsAdmin]</span><span style="color: #800000">"</span><br>Return $IsAdmin<br><span style="color: #800080">}</span><br><br># First<span style="color: #808030">,</span> ensure the user <span style="font-weight: bold; color: #800000">is</span> admin and that the VM exists<br><span style="font-weight: bold; color: #800000">if</span><span style="color: #808030">(</span><span style="color: #808030">(</span>IsAdmin<span style="color: #808030">)</span> <span style="color: #808030">-</span>eq $<span style="font-weight: bold; color: #800000">false</span><span style="color: #808030">)</span><br><span style="color: #800080">{</span><br> Write<span style="color: #808030">-</span>Error <span style="color: #800000">"</span><span style="color: #0000e6">Must run PowerShell elevated to install WinRM certificates.</span><span style="color: #800000">"</span><br> <span style="font-weight: bold; color: #800000">return</span><br><span style="color: #800080">}</span><br>If <span style="color: #808030">(</span><span style="color: #808030">-</span>not <span style="color: #808030">(</span>Get<span style="color: #808030">-</span>AzureVM <span style="color: #808030">-</span>ServiceName $CloudServiceName <span style="color: #808030">-</span>Name $VMName<span style="color: #808030">)</span><span style="color: #808030">)</span><br> <span style="color: #800080">{</span><br> Write<span style="color: #808030">-</span>Error <span style="color: #800000">"</span><span style="color: #0000e6">VM $VMName does not exist.</span><span style="color: #800000">"</span><br> <span style="font-weight: bold; color: #800000">return</span><br> <span style="color: #800080">}</span><br><br> # Pre<span style="color: #808030">-</span>reqs OK so let's get started<span style="color: #808030">.</span><span style="color: #808030">.</span><span style="color: #808030">.</span><br> Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">Getting WinRM Certificate for Service: [$CloudServiceName] and VMname: [$VMName]</span><span style="color: #800000">"</span><br>$AzureVM <span style="color: #808030">=</span> <span style="color: #808030">(</span>Get<span style="color: #808030">-</span>AzureVM <span style="color: #808030">-</span>ServiceName $CloudServiceName <span style="color: #808030">-</span>Name $VMname<span style="color: #808030">)</span><span style="color: #808030">.</span>vm<br>$WinRmVmTp <span style="color: #808030">=</span> $AzureVM<span style="color: #808030">.</span>DefaultWinRMCertificateThumbprint<br>$AzureX509cert <span style="color: #808030">=</span> Get<span style="color: #808030">-</span>AzureCertificate <span style="color: #808030">-</span>ServiceName $CloudServiceName <span style="color: #808030">-</span>Thumbprint $WinRmVmTp <span style="color: #808030">-</span>ThumbprintAlgorithm sha1<br>Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">Found certificate with thumbprint: $WinRmVmTp</span><span style="color: #800000">"</span><br><br># Now get cert into our cert store<br># First create a temp file and dump the certificate data to it<br>$CertTempFile <span style="color: #808030">=</span> <span style="color: #808030">[</span>IO<span style="color: #808030">.</span>Path<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>GetTempFileName<span style="color: #808030">(</span><span style="color: #808030">)</span><br>Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">Using temp file: [$CertTempFile]</span><span style="color: #800000">"</span><br>$AzureX509cert<span style="color: #808030">.</span>Data | Out<span style="color: #808030">-</span>File $CertTempFile<br>Write<span style="color: #808030">-</span>Verbose 'Temp file contains cert data'<br><br># Create a certificate <span style="font-weight: bold; color: #800000">object</span> from <span style="font-weight: bold; color: #800000">this</span> file<br>$CertToImport <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>Security<span style="color: #808030">.</span>Cryptography<span style="color: #808030">.</span>X509Certificates<span style="color: #808030">.</span>X509Certificate2 $certTempFile<br><br># Now get the local machine's trusted root store<br>$store <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>Security<span style="color: #808030">.</span>Cryptography<span style="color: #808030">.</span>X509Certificates<span style="color: #808030">.</span>X509Store <span style="color: #800000">"</span><span style="color: #0000e6">Root</span><span style="color: #800000">"</span><span style="color: #808030">,</span> <span style="color: #800000">"</span><span style="color: #0000e6">LocalMachine</span><span style="color: #800000">"</span><br>Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">[$($store.location)] [$($store.name)] cert store found sucessfully</span><span style="color: #800000">"</span><br><br># Now Add the cert <span style="font-weight: bold; color: #800000">object</span> to the store<br>$store<span style="color: #808030">.</span>Open<span style="color: #808030">(</span><span style="color: #808030">[</span>System<span style="color: #808030">.</span>Security<span style="color: #808030">.</span>Cryptography<span style="color: #808030">.</span>X509Certificates<span style="color: #808030">.</span>OpenFlags<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>ReadWrite<span style="color: #808030">)</span><br>$store<span style="color: #808030">.</span>Add<span style="color: #808030">(</span>$CertToImport<span style="color: #808030">)</span><br>$store<span style="color: #808030">.</span>Close<span style="color: #808030">(</span><span style="color: #808030">)</span><br>Write<span style="color: #808030">-</span>Verbose 'Certificate written to store'<br><br># And nuke the temp file <br>Remove<span style="color: #808030">-</span>Item $certTempFile<br>Write<span style="color: #808030">-</span>Verbose 'Temp file removed'<br><span style="color: #800080">}</span><br></pre><div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:43c3056e-4472-452d-9114-3ea6f4179038" class="wlWriterSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/Azure" rel="tag">Azure</a>,<a href="http://technorati.com/tags/Azure+VM" rel="tag">Azure VM</a></div></pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-60402046040923425122015-02-01T05:26:00.001-08:002015-02-01T05:26:20.771-08:00New-HttpVmEndpoint.ps1<pre style="background: #ffffff; color: #000000"><html><pre>Function New<span style="color: #808030">-</span>HttpVmEndpoint <span style="color: #800080">{</span><br /><span style="color: #808030"><</span>#<br />SYNOPSIS<br /> This script defines a function to add an HTTP endpoint<br /> to an Azure VM<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>DESCRIPTION<br /> This script uses the Azure module to change the VM instance size<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> New<span style="color: #808030">-</span>HttpVmEndpoint<span style="color: #808030">.</span>ps1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> PowerShell Version <span style="color: #008000">3.0</span><span style="color: #808030">,</span> Azure module<br /> Tested <span style="color: #808030">:</span> PowerShell Version <span style="color: #008c00">5</span><br /><span style="color: #808030">.</span>LINK<br /> This script posted to<span style="color: #808030">:</span><br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com</span><br /> <br /><span style="color: #808030">.</span>EXAMPLE<br /> New<span style="color: #808030">-</span>HttpVmEndpoint <span style="color: #808030">-</span>VmName 'psh1' <span style="color: #808030">-</span>ServiceName 'psh1' <br /> <br /> OperationDescription OperationId OperationStatus <br /> <span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span> <span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span> <span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span><span style="color: #808030">-</span> <br /> Update<span style="color: #808030">-</span>AzureVM <span style="color: #008c00">99709683</span><span style="color: #808030">-</span>8c4b<span style="color: #808030">-</span><span style="color: #008000">607e-8856</span><span style="color: #808030">-</span>5958a6967147 Succeeded <br /><br /> #<span style="color: #808030">></span><br /> <span style="color: #808030">[</span>Cmdletbinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br /> Param <span style="color: #808030">(</span><br /> $VmName<span style="color: #808030">,</span><br /> $ServiceName<br /> <span style="color: #808030">)</span><br /># So here<span style="color: #808030">,</span> get the vm<span style="color: #808030">,</span> add the endpoint<span style="color: #808030">,</span> then update the VM<br /> Get<span style="color: #808030">-</span>AzureVM <span style="color: #808030">-</span>ServiceName $ServiceName <span style="color: #808030">-</span>Name $VmName |<br /> Add<span style="color: #808030">-</span>AzureEndpoint <span style="color: #808030">-</span>Name <span style="color: #800000">"</span><span style="color: #0000e6">Http</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>Protocol <span style="color: #800000">"</span><span style="color: #0000e6">tcp</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>PublicPort <span style="color: #008c00">80</span> <span style="color: #808030">-</span>LocalPort <span style="color: #008c00">80</span> |<br /> Update<span style="color: #808030">-</span>AzureVM <br /> <br /><span style="color: #800080">}</span><br /><br /># And Test It<br />New<span style="color: #808030">-</span>HttpVmEndpoint <span style="color: #808030">-</span>vm 'psh1' <span style="color: #808030">-</span>servicename 'psh1'<br /></pre><p> </p><div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:66e0ba4a-9e3b-4412-86cf-93caebf1eba3" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/Azure" rel="tag">Azure</a>,<a href="http://technorati.com/tags/VM" rel="tag">VM</a>,<a href="http://technorati.com/tags/endpoints" rel="tag">endpoints</a>,<a href="http://technorati.com/tags/PowerShell" rel="tag">PowerShell</a></div></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-3497998994748662062015-01-19T02:00:00.000-08:002015-01-19T02:00:02.684-08:00AzureVM.Format.Ps1xml<p><font face="Courier New"><strong><!-- </strong></font></p> <p><font face="Courier New"><strong>   Description <br /></strong></font><font face="Courier New"><strong>      This file contains display XML for the object returned from <br />      Get-AzureVM. It's purpose is to provide better (default) output <br />      from Get-AzureVm. <br /></strong></font><font face="Courier New"><strong>   Written by <br />      </strong></font><font face="Courier New"><strong>Thomas Lee (</strong></font><a href="mailto:tfl@psp.co.uk"><font face="Courier New"><strong>tfl@psp.co.uk</strong></font></a> <br /><font face="Courier New"><strong>   Copyright: <br />     </strong></font><font face="Courier New"><strong> PS Partnership 2015 <br />--> <br /></strong></font><font face="Courier New"><strong><?xml version="1.0" encoding="utf-16"?> <br /><Configuration> <br />  <ViewDefinitions> <br />    <View> <br />      <Name>AzureVM</Name> <br />      <ViewSelectedBy> <br />        <TypeName>Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVMRoleListContext</TypeName> <br />      </ViewSelectedBy> <br />      <TableControl> <br />      <AutoSize /> <br />        <TableHeaders> <br />          <TableColumnHeader> <br />             <Label>Name</Label> <br />          </TableColumnHeader> <br />          <TableColumnHeader> <br />             <Label>Service Name</Label> <br />          </TableColumnHeader> <br />          <TableColumnHeader> <br />             <Label>Status</Label> <br />          </TableColumnHeader> <br />          <TableColumnHeader> <br />              <Label>Hostname</Label> <br />          </TableColumnHeader> <br />          <TableColumnHeader> <br />              <Label>FQDN</Label> <br />          </TableColumnHeader> <br />          <TableColumnHeader> <br />              <Label>Instance Size</Label> <br />          </TableColumnHeader>          <br />          <TableColumnHeader> <br />              <Label>IP Address</Label> <br />          </TableColumnHeader> <br />        </TableHeaders> <br />        <TableRowEntries> <br />          <TableRowEntry> <br />            <TableColumnItems> <br />              <TableColumnItem> <br />                <PropertyName>Name</PropertyName> <br />              </TableColumnItem> <br />              <TableColumnItem> <br />                <PropertyName>Servicename</PropertyName> <br />              </TableColumnItem> <br />              <TableColumnItem> <br />                <PropertyName>status</PropertyName> <br />              </TableColumnItem> <br />              <TableColumnItem> <br />                <PropertyName>hostname</PropertyName> <br />              </TableColumnItem> <br />              <TableColumnItem> <br />                <PropertyName>DNSName</PropertyName> <br />              </TableColumnItem>              <br />              <TableColumnItem> <br />                <PropertyName>instancesize</PropertyName> <br />              </TableColumnItem> <br />              <TableColumnItem> <br />                <PropertyName>IPaddress</PropertyName> <br />              </TableColumnItem> <br />            </TableColumnItems> <br />          </TableRowEntry> <br />        </TableRowEntries> <br />      </TableControl> <br />    </View> <br />  </ViewDefinitions> <br /></Configuration></strong></font></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-37745929595677810252014-12-04T02:36:00.000-08:002014-12-04T02:36:00.153-08:00Measure-TypeAccelerator.ps1<pre style="background: #ffffff; color: #000000"><html><pre><span style="color: #808030"><</span>#<br /><span style="color: #808030">.</span>SYNOPSIS<br /> This function 'measures' <span style="color: #808030">(</span>counts<span style="color: #808030">)</span> the number of <br /> Type Accelerators on your system<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>DESCRIPTION<br /> This function counts the number of type accelerators are <br /> on your systems and returns that number<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> Measure<span style="color: #808030">-</span>TypeAccelerator<span style="color: #808030">.</span>ps1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> Version <span style="color: #008c00">3</span><br /><span style="color: #808030">.</span>LINK<br /> Script Repository<br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com </span><br /><span style="color: #808030">.</span>Example<br /> Psh<span style="color: #808030">[</span>C<span style="color: #808030">:</span>\foo<span style="color: #808030">]</span><span style="color: #808030">></span> Measure<span style="color: #808030">-</span>TypeAccelerator<span style="color: #808030">.</span>ps1<br /> <span style="color: #008c00">84</span><br /><span style="color: #808030">.</span>Example<br /> Psh<span style="color: #808030">[</span>C<span style="color: #808030">:</span>\foo<span style="color: #808030">]</span><span style="color: #808030">></span> Count<span style="color: #808030">-</span>TypeAccelerator<span style="color: #808030">.</span>ps1<br /> <span style="color: #008c00">84</span><br /><br />#<span style="color: #808030">></span><br /><br />Function Measure<span style="color: #808030">-</span>TypeAccelerator <span style="color: #800080">{</span><br /># Define parameters and enable advanced functions<br /># NB no parameters<span style="color: #808030">!</span><br /><span style="color: #808030">[</span>cmdletbinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br />Param <span style="color: #808030">(</span><span style="color: #808030">)</span><br /><br /># Start of function<br />Write<span style="color: #808030">-</span>Verbose 'Getting acount of all Type Accelerators'<br />$Count <span style="color: #808030">=</span> <span style="color: #808030">(</span><span style="color: #808030">(</span><span style="color: #808030">[</span>PSObject<span style="color: #808030">]</span><span style="color: #808030">.</span>Assembly<span style="color: #808030">.</span>GetType<span style="color: #808030">(</span>'System<span style="color: #808030">.</span>Management<span style="color: #808030">.</span>Automation<span style="color: #808030">.</span>TypeAccelerators'<span style="color: #808030">)</span><span style="color: #808030">:</span><span style="color: #808030">:</span>Get<span style="color: #808030">)</span><span style="color: #808030">.</span>GetEnumerator<span style="color: #808030">(</span><span style="color: #808030">)</span> | <br /> Measure<span style="color: #808030">)</span><span style="color: #808030">.</span>count <br />Write<span style="color: #808030">-</span>Verbose <span style="color: #800000">"</span><span style="color: #0000e6">$Count Type Accelerators found on $(hostname)</span><span style="color: #800000">"</span><br />Return $count<br /><span style="color: #800080">}</span><br /><br /># Set an alias<br />Set<span style="color: #808030">-</span>Alias CTA Measure<span style="color: #808030">-</span>TypeAccelerator<br />Set<span style="color: #808030">-</span>Alias MTA Measure<span style="color: #808030">-</span>TypeAccelerator<br /></pre><p></p></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-15015714132124060312014-12-03T07:09:00.000-08:002014-12-03T07:09:00.578-08:00Remove-TypeAccelerator<pre style="background: #ffffff; color: #000000"><html><pre><span style="color: #808030"><</span>#<br /><span style="color: #808030">.</span>SYNOPSIS<br /> This script removes a type accelerator from your system<br /><span style="color: #808030">.</span>DESCRIPTION<br /> This script removes a NEW TA from your system<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> Remove<span style="color: #808030">-</span>TypeAccelerator<span style="color: #808030">.</span>ps1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> Version <span style="color: #008c00">3</span><br /><span style="color: #808030">.</span>LINK<br /> Script Repository<br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com </span><br /><span style="color: #808030">.</span>Example<br /> Psh<span style="color: #808030">[</span>C<span style="color: #808030">:</span>\foo<span style="color: #808030">]</span><span style="color: #808030">></span> Remove<span style="color: #808030">-</span>TypeAccelerator tfl<br /> Alias <span style="color: #808030">[</span>tfl<span style="color: #808030">]</span> removed<br />#<span style="color: #808030">></span><br /><br />###<br /># Start of script<br />###<br /><br />Function Remove<span style="color: #808030">-</span>TypeAccelerator <span style="color: #800080">{</span><br /><span style="color: #808030">[</span>cmdletbinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br />param <span style="color: #808030">(</span><br /><span style="color: #808030">[</span>Parameter<span style="color: #808030">(</span>Mandatory<span style="color: #808030">=</span>$<span style="font-weight: bold; color: #800000">true</span><span style="color: #808030">)</span><span style="color: #808030">]</span> <br /><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $alias<br /><span style="color: #808030">)</span><br /><br /># Start of function<br />Try<br /> <span style="color: #800080">{</span><br /> <span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">void</span><span style="color: #808030">]</span> <span style="color: #808030">(</span><span style="color: #808030">[</span>PSObject<span style="color: #808030">]</span><span style="color: #808030">.</span>Assembly<span style="color: #808030">.</span>GetType<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">System.Management.Automation.TypeAccelerators</span><span style="color: #800000">"</span><span style="color: #808030">)</span><span style="color: #808030">:</span><span style="color: #808030">:</span>remove<span style="color: #808030">(</span>$alias<span style="color: #808030">)</span><span style="color: #808030">)</span><br /> <span style="color: #800080">}</span><br />Catch<br /> <span style="color: #800080">{</span><br /> Write<span style="color: #808030">-</span>Error <span style="color: #800000">"</span><span style="color: #0000e6">Failed to remove alias [$alias]</span><span style="color: #800000">"</span><br /> <span style="font-weight: bold; color: #800000">return</span><br /> <span style="color: #800080">}</span><br /><br /># Return<br /><span style="color: #800000">"</span><span style="color: #0000e6">Alias [$alias] removed</span><span style="color: #800000">"</span><br /><span style="color: #800080">}</span><br /><br />Set<span style="color: #808030">-</span>Alias rta Remove<span style="color: #808030">-</span>TypeAccelerator<br /><br /># Test <span style="font-weight: bold; color: #800000">this</span> <span style="font-weight: bold; color: #800000">out</span><br />Remove<span style="color: #808030">-</span>TypeAccelerator 'foo3'<br /></pre><p></p></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-8965971018683043982014-12-02T11:00:00.000-08:002014-12-02T11:00:02.867-08:00New-TypeAccelerator.ps1<pre style="background: #ffffff; color: #000000"><html><pre><span style="color: #808030"><</span>#<br /><span style="color: #808030">.</span>SYNOPSIS<br /> This script creates a <span style="font-weight: bold; color: #800000">new</span> type accelerator on your system<br /><span style="color: #808030">.</span>DESCRIPTION<br /> This script adds a NEW TA to your system<span style="color: #808030">.</span><br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> New<span style="color: #808030">-</span>TypeAccelerator<span style="color: #808030">.</span>ps1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> Version <span style="color: #008c00">3</span><br /><span style="color: #808030">.</span>LINK<br /> Script Repository<br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com </span><br /><span style="color: #808030">.</span>Example<br /> Psh<span style="color: #808030">[</span>C<span style="color: #808030">:</span>\foo<span style="color: #808030">]</span><span style="color: #808030">></span> New<span style="color: #808030">-</span>TypeAccelerator tfl system<span style="color: #808030">.</span>int32<br /> Alias <span style="color: #808030">[</span>tfl<span style="color: #808030">]</span> added <span style="font-weight: bold; color: #800000">for</span> type <span style="color: #808030">[</span>system<span style="color: #808030">.</span>int32<span style="color: #808030">]</span><br />#<span style="color: #808030">></span><br /><br />###<br /># Start of script<br />###<br /><br />function New<span style="color: #808030">-</span>TypeAccelerator <span style="color: #800080">{</span><br /><span style="color: #808030">[</span>cmdletbinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br />param <span style="color: #808030">(</span><br /><span style="color: #808030">[</span>Parameter<span style="color: #808030">(</span>Mandatory<span style="color: #808030">=</span>$<span style="font-weight: bold; color: #800000">true</span><span style="color: #808030">)</span><span style="color: #808030">]</span> <br /><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $alias<span style="color: #808030">,</span><br /> <br /><span style="color: #808030">[</span>Parameter<span style="color: #808030">(</span>Mandatory<span style="color: #808030">=</span>$<span style="font-weight: bold; color: #800000">true</span><span style="color: #808030">)</span><span style="color: #808030">]</span> <br /><span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span> $type<br /><span style="color: #808030">)</span><br /><br /># Start of function<br />Try<br /> <span style="color: #800080">{</span><br /> <span style="color: #808030">(</span><span style="color: #808030">[</span>PSObject<span style="color: #808030">]</span><span style="color: #808030">.</span>Assembly<span style="color: #808030">.</span>GetType<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">System.Management.Automation.TypeAccelerators</span><span style="color: #800000">"</span><span style="color: #808030">)</span><span style="color: #808030">:</span><span style="color: #808030">:</span>add<span style="color: #808030">(</span>$alias<span style="color: #808030">,</span>$type<span style="color: #808030">)</span><span style="color: #808030">)</span><br /> <span style="color: #800080">}</span><br />Catch<br /> <span style="color: #800080">{</span><br /> Write<span style="color: #808030">-</span>Error <span style="color: #800000">"</span><span style="color: #0000e6">Failed to add alias [$alias] to type [$type]</span><span style="color: #800000">"</span><br /> <span style="font-weight: bold; color: #800000">return</span><br /> <span style="color: #800080">}</span><br /><br /># Return<br /><span style="color: #800000">"</span><span style="color: #0000e6">Alias [$alias] added for type [$Type]</span><span style="color: #800000">"</span><br /><span style="color: #800080">}</span><br /><br />Set<span style="color: #808030">-</span>Alias nta New<span style="color: #808030">-</span>TypeAccelerator<br /><br /># Test <span style="font-weight: bold; color: #800000">this</span> <span style="font-weight: bold; color: #800000">out</span><br />New<span style="color: #808030">-</span>TypeAccelerator<br /></pre><p></p></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-61299897841606424732014-12-01T11:30:00.000-08:002014-11-30T07:57:59.508-08:00Get-TypeAccelerator.ps1<pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '><pre>
<span style='color:#808030; '><</span>#
<span style='color:#808030; '>.</span>SYNOPSIS
This script defines a function to get a list of
Type Accelerators <span style='color:#800000; font-weight:bold; '>in</span> PowerShell and displays them nicely
<span style='color:#808030; '>.</span>DESCRIPTION
This script gets the details of type accelerators <span style='color:#800000; font-weight:bold; '>in</span> the system<span style='color:#808030; '>.</span>
Earlier versions of <span style='color:#800000; font-weight:bold; '>this</span> script uses a different <span style='color:#800000; font-weight:bold; '>class</span><span style='color:#808030; '>,</span> which
has been taken <span style='color:#800000; font-weight:bold; '>private</span> and <span style='color:#800000; font-weight:bold; '>is</span> not available any more<span style='color:#808030; '>.</span> This
script also creates an alias <span style='color:#800000; font-weight:bold; '>for</span> the function<span style='color:#808030; '>.</span> GTA takes a
<span style='color:#800000; font-weight:bold; '>string</span> parameter which <span style='color:#800000; font-weight:bold; '>is</span> used <span style='color:#800000; font-weight:bold; '>as</span> a regular expression to
find a subset of type accelerators<span style='color:#808030; '>.</span>
<span style='color:#808030; '>.</span>NOTES
Additional Notes<span style='color:#808030; '>,</span> eg
File Name <span style='color:#808030; '>:</span> Get<span style='color:#808030; '>-</span>TypeAccelerator<span style='color:#808030; '>.</span>ps1
Author <span style='color:#808030; '>:</span> Thomas Lee <span style='color:#808030; '>-</span> tfl@psp<span style='color:#808030; '>.</span>co<span style='color:#808030; '>.</span>uk
Requires <span style='color:#808030; '>:</span> Version <span style='color:#008c00; '>3</span>
<span style='color:#808030; '>.</span>LINK
Original article<span style='color:#808030; '>:</span>
http<span style='color:#808030; '>:</span><span style='color:#696969; '>//www.nivot.org/2008/12/25/ListOfTypeAcceleratorsForPowerShellCTP3.aspx</span>
Script Repository
http<span style='color:#808030; '>:</span><span style='color:#696969; '>//www.pshscripts.blogspot.com</span>
<span style='color:#808030; '>.</span>Example
Psh<span style='color:#808030; '>[</span>C<span style='color:#808030; '>:</span>\foo<span style='color:#808030; '>]</span><span style='color:#808030; '>></span>Get<span style='color:#808030; '>-</span>TypAccelerator <span style='color:#800000; font-weight:bold; '>int</span>
Name Type
<span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span> <span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span>
bigint System<span style='color:#808030; '>.</span>Numerics<span style='color:#808030; '>.</span>BigInteger
<span style='color:#800000; font-weight:bold; '>int</span> System<span style='color:#808030; '>.</span>Int32
int16 System<span style='color:#808030; '>.</span>Int16
int32 System<span style='color:#808030; '>.</span>Int32
int64 System<span style='color:#808030; '>.</span>Int64
uint16 System<span style='color:#808030; '>.</span>UInt16
uint32 System<span style='color:#808030; '>.</span>UInt32
uint64 System<span style='color:#808030; '>.</span>UInt64
<span style='color:#808030; '>.</span>Example
Psh<span style='color:#808030; '>[</span>C<span style='color:#808030; '>:</span>\foo<span style='color:#808030; '>]</span><span style='color:#808030; '>></span>Get<span style='color:#808030; '>-</span>TypAccelerator 's$'
Name Type
<span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span> <span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span><span style='color:#808030; '>-</span>
Alias System<span style='color:#808030; '>.</span>Management<span style='color:#808030; '>.</span>Automation<span style='color:#808030; '>.</span>AliasAttribute
cimclass Microsoft<span style='color:#808030; '>.</span>Management<span style='color:#808030; '>.</span>Infrastructure<span style='color:#808030; '>.</span>CimClass
ipaddress System<span style='color:#808030; '>.</span>Net<span style='color:#808030; '>.</span>IPAddress
mailaddress System<span style='color:#808030; '>.</span>Net<span style='color:#808030; '>.</span>Mail<span style='color:#808030; '>.</span>MailAddress
SupportsWildcards System<span style='color:#808030; '>.</span>Management<span style='color:#808030; '>.</span>Automation<span style='color:#808030; '>.</span>SupportsWildcardsAttribute
wmiclass System<span style='color:#808030; '>.</span>Management<span style='color:#808030; '>.</span>ManagementClass
#<span style='color:#808030; '>></span>
###
# Start of script
###
Function Get<span style='color:#808030; '>-</span>TypeAccelerator <span style='color:#800080; '>{</span>
<span style='color:#808030; '>[</span>Cmdletbinding<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>]</span>
param <span style='color:#808030; '>(</span>
<span style='color:#808030; '>[</span><span style='color:#800000; font-weight:bold; '>string</span><span style='color:#808030; '>]</span> $accelerator
<span style='color:#808030; '>)</span>
<span style='color:#808030; '>(</span><span style='color:#808030; '>[</span>PSObject<span style='color:#808030; '>]</span><span style='color:#808030; '>.</span>Assembly<span style='color:#808030; '>.</span>GetType<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>System.Management.Automation.TypeAccelerators</span><span style='color:#800000; '>"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>:</span><span style='color:#808030; '>:</span>Get<span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>getenumerator<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span> |
Select<span style='color:#808030; '>-</span><span style='color:#800000; font-weight:bold; '>object</span> @<span style='color:#800080; '>{</span>Name<span style='color:#808030; '>=</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>Name</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span> expression<span style='color:#808030; '>=</span><span style='color:#800080; '>{</span>$_<span style='color:#808030; '>.</span>key<span style='color:#800080; '>}</span><span style='color:#800080; '>}</span><span style='color:#808030; '>,</span>
@<span style='color:#800080; '>{</span>name<span style='color:#808030; '>=</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>Type</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span> expression<span style='color:#808030; '>=</span><span style='color:#800080; '>{</span>$_<span style='color:#808030; '>.</span>value<span style='color:#800080; '>}</span><span style='color:#800080; '>}</span> |
where name <span style='color:#808030; '>-</span>match $accelerator | Sort name | Format<span style='color:#808030; '>-</span>Table <span style='color:#808030; '>-</span>Autosize
<span style='color:#800080; '>}</span>
Set<span style='color:#808030; '>-</span>Alias gta Get<span style='color:#808030; '>-</span>TypAccelerator
# Test script
Get<span style='color:#808030; '>-</span>TypAccelerator <span style='color:#800000; font-weight:bold; '>int</span> # anything with <span style='color:#800000; font-weight:bold; '>int</span>
Get<span style='color:#808030; '>-</span>TypeAccelerator 's$' # ends <span style='color:#800000; font-weight:bold; '>in</span> s
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-64051854985401082452014-11-28T04:54:00.000-08:002014-11-28T04:50:45.783-08:00Get-Stack1.ps1<pre style="background: #ffffff; color: #000000"><html><pre><br /><span style="color: #808030"><</span>#<br /><span style="color: #808030">.</span>SYNOPSIS<br /> MSDN sample showing push and other stack processing <span style="font-weight: bold; color: #800000">using</span> PowerShell <br /><span style="color: #808030">.</span>DESCRIPTION<br /> This script creates a script then performs stack operations<span style="color: #808030">.</span> <br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> Get<span style="color: #808030">-</span>Stack1<span style="color: #808030">.</span>p1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> PowerShell V2<br /><span style="color: #808030">.</span>LINK<br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com</span><br /><span style="color: #808030">.</span>EXAMPLE<br /> PSH <span style="color: #808030">[</span>C<span style="color: #808030">:</span>\foo<span style="color: #808030">]</span><span style="color: #808030">:</span> <span style="color: #808030">.</span>\get<span style="color: #808030">-</span>stack1<span style="color: #808030">.</span>ps1'<br /> Stack at start<span style="color: #808030">:</span><br /> fox<br /> quick<br /> The<br /><br /> <span style="color: #808030">(</span>Pop<span style="color: #808030">)</span> fox<br /> Stack value after Pop<span style="color: #808030">:</span><br /> brown<br /> quick<br /> The<br /><br /> <span style="color: #808030">(</span>Pop<span style="color: #808030">)</span> brown<br /> Stack values after 2nd pop<span style="color: #808030">:</span><br /> quick<br /> The<br /><br /> <span style="color: #808030">(</span>Peek<span style="color: #808030">)</span> quick<br /> Stack values after a peek<span style="color: #808030">:</span><br /> quick<br /> The<br />#<span style="color: #808030">></span><br /><br />##<br /># start of script<br />###<br /><br /># Create and initialise a <span style="font-weight: bold; color: #800000">new</span> stack <span style="font-weight: bold; color: #800000">object</span><br />$mystack <span style="color: #808030">=</span> <span style="font-weight: bold; color: #800000">new</span><span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> system<span style="color: #808030">.</span>collections<span style="color: #808030">.</span>stack<br />$myStack<span style="color: #808030">.</span>Push<span style="color: #808030">(</span> <span style="color: #800000">"</span><span style="color: #0000e6">The</span><span style="color: #800000">"</span> <span style="color: #808030">)</span><br />$myStack<span style="color: #808030">.</span>Push<span style="color: #808030">(</span> <span style="color: #800000">"</span><span style="color: #0000e6">quick</span><span style="color: #800000">"</span> <span style="color: #808030">)</span><br />$myStack<span style="color: #808030">.</span>Push<span style="color: #808030">(</span> <span style="color: #800000">"</span><span style="color: #0000e6">brown</span><span style="color: #800000">"</span> <span style="color: #808030">)</span><br />$myStack<span style="color: #808030">.</span>Push<span style="color: #808030">(</span> <span style="color: #800000">"</span><span style="color: #0000e6">fox</span><span style="color: #800000">"</span> <span style="color: #808030">)</span><br /><br /># Display the Stack<br /><span style="color: #800000">"</span><span style="color: #0000e6">Stack at start:</span><span style="color: #800000">"</span><br />$myStack<br /><span style="color: #800000">"</span><span style="color: #800000">"</span># Pop an element from the Stack<span style="color: #808030">.</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">(Pop)`t`t{0}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $myStack<span style="color: #808030">.</span>Pop<span style="color: #808030">(</span><span style="color: #808030">)</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">Stack value after Pop:</span><span style="color: #800000">"</span><br />$myStack<br /><span style="color: #800000">"</span><span style="color: #800000">"</span><br /><br /># Pop another element from the Stack<br /><span style="color: #800000">"</span><span style="color: #0000e6">(Pop)`t`t{0}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $myStack<span style="color: #808030">.</span>Pop<span style="color: #808030">(</span><span style="color: #808030">)</span><br /><br /># Display the Stack after 2nd pop<br /><span style="color: #800000">"</span><span style="color: #0000e6">Stack values after 2nd pop:</span><span style="color: #800000">"</span> <br />$myStack<br /><span style="color: #800000">"</span><span style="color: #800000">"</span><br /><br /># Peek at the front<br /><span style="color: #800000">"</span><span style="color: #0000e6">(Peek)`t`t{0}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $myStack<span style="color: #808030">.</span>peek<span style="color: #808030">(</span><span style="color: #808030">)</span><br /><br /># Display the Stack after the peek<br /><span style="color: #800000">"</span><span style="color: #0000e6">Stack values after a peek:</span><span style="color: #800000">"</span> <br />$myStack<br /></pre><p></p></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-52307709603343433712014-11-27T08:19:00.001-08:002014-11-27T08:23:11.862-08:00Zip-Pshscripts3.ps1<div dir="ltr" style="text-align: left;" trbidi="on">
<pre style="background: #ffffff; color: black;"><html><body style="background: #ffffff; color: black;"><pre>
#Requires –Version <span style="color: green;">5.0</span>
#
#<span style="color: #808030;">.</span>Synopsis
# Creates a zip file of PowerShell scripts
#<span style="color: #808030;">.</span>Description
# The script creates a zip file containing all the files<span style="color: #808030;">,</span>
# recursing through the top level PowerShell Script Library folder<span style="color: #808030;">.</span>
#
#<span style="color: #808030;">.</span>Notes
# This script require PowerShell V5 <span style="color: maroon; font-weight: bold;">for</span> the zip file cmdlets<span style="color: #808030;">!</span>
# Author <span style="color: #808030;">-</span> Thomas Lee <span style="color: #808030;">-</span> tfl@psp<span style="color: #808030;">.</span>co<span style="color: #808030;">.</span>uk
#
#<span style="color: #808030;">.</span>Example
# PS <span style="color: #808030;">[</span>c<span style="color: #808030;">:</span>\foo<span style="color: #808030;">]</span><span style="color: #808030;">></span> <span style="color: #808030;">.</span>\Zip<span style="color: #808030;">-</span>PSHScripts3<span style="color: #808030;">.</span>ps1
# Total files <span style="color: #808030;">:</span> <span style="color: #008c00;">347</span>
# ps1 files <span style="color: #808030;">:</span> <span style="color: #008c00;">342</span>
# txt files <span style="color: #808030;">:</span> <span style="color: #008c00;">1</span>
# other files <span style="color: #808030;">:</span> <span style="color: #008c00;">4</span>
# Define what to zip and from where
$zipfile <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">C:\foo\ScriptLib.ZIP</span><span style="color: maroon;">"</span>
$zipfrom <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">C:\Users\tfl\Dropbox\PowerShell Script Library (master)</span><span style="color: maroon;">"</span>
$recurse <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">true</span><span style="color: maroon;">"</span>
$ziptoadd <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">ps1</span><span style="color: maroon;">"</span>
# Check it <span style="color: maroon; font-weight: bold;">out</span>
<span style="color: maroon; font-weight: bold;">if</span> <span style="color: #808030;">(</span> <span style="color: #808030;">!</span> <span style="color: #808030;">(</span>Test<span style="color: #808030;">-</span>path <span style="color: #808030;">-</span>Path $zipfrom <span style="color: #808030;">)</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
Write<span style="color: #808030;">-</span>Host 'scripts folder does not exist'
<span style="color: purple;">}</span>
# Zip it up<span style="color: #808030;">!</span>
Try
<span style="color: purple;">{</span>
Compress<span style="color: #808030;">-</span>Archive <span style="color: #808030;">-</span>Path $zipfrom <span style="color: #808030;">-</span>DestinationPath $zipfile <span style="color: #808030;">-</span>CompressionLevel Optimal <span style="color: #808030;">-</span>Update
<span style="color: purple;">}</span>
Catch
<span style="color: purple;">{</span>
Write<span style="color: #808030;">-</span>Host ' Error Zipping up the script library'
$Error<span style="color: #808030;">[</span><span style="color: #008c00;">0</span><span style="color: #808030;">]</span>
<span style="color: purple;">}</span>
# Stats
$files <span style="color: #808030;">=</span> ls $zipfrom <span style="color: #808030;">-</span>file <span style="color: #808030;">-</span>recurse
$files_ps1 <span style="color: #808030;">=</span> $files | Where<span style="color: #808030;">-</span>Object Extension <span style="color: #808030;">-</span>eq '<span style="color: #808030;">.</span>ps1'
$files_txt <span style="color: #808030;">=</span> $files | Where<span style="color: #808030;">-</span>Object Extension <span style="color: #808030;">-</span>eq '<span style="color: #808030;">.</span>txt'
$files_other <span style="color: #808030;">=</span> $files | Where<span style="color: #808030;">-</span>Object <span style="color: purple;">{</span> $_<span style="color: #808030;">.</span>extension <span style="color: #808030;">-</span>NE '<span style="color: #808030;">.</span>PS1' <span style="color: #808030;">-</span>and $_<span style="color: #808030;">.</span>Extension <span style="color: #808030;">-</span>ne '<span style="color: #808030;">.</span>txt'<span style="color: purple;">}</span>
<span style="color: maroon;">"</span><span style="color: #0000e6;">Total files : {0}</span><span style="color: maroon;">"</span> <span style="color: #808030;">-</span>f $<span style="color: #808030;">(</span>$files<span style="color: #808030;">.</span>count<span style="color: #808030;">)</span>
<span style="color: maroon;">"</span><span style="color: #0000e6;">ps1 files : {0}</span><span style="color: maroon;">"</span> <span style="color: #808030;">-</span>f $<span style="color: #808030;">(</span>$files_ps1<span style="color: #808030;">.</span>count<span style="color: #808030;">)</span>
<span style="color: maroon;">"</span><span style="color: #0000e6;">txt files : {0}</span><span style="color: maroon;">"</span> <span style="color: #808030;">-</span>f $<span style="color: #808030;">(</span>$files_txt<span style="color: #808030;">.</span>count<span style="color: #808030;">)</span>
<span style="color: maroon;">"</span><span style="color: #0000e6;">other files : {0}</span><span style="color: maroon;">"</span> <span style="color: #808030;">-</span>f $<span style="color: #808030;">(</span>$files_other<span style="color: #808030;">.</span>count<span style="color: #808030;">)</span>
# All done
ls $zipfile</pre>
</body></html></pre>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-64257134967671386242014-07-01T10:20:00.001-07:002014-11-27T08:26:43.559-08:00Zip-Pshscripts.ps1<div dir="ltr" style="text-align: left;" trbidi="on">
<pre style="background: #ffffff; color: black;"><html><body style="background: #ffffff; color: black;"><pre>
<span style="color: #808030;"><</span>#
<span style="color: #808030;">.</span>SYNOPSIS
Creates a zip file from a folder structure and uploads
it to an FTP site<span style="color: #808030;">.</span>
<span style="color: #808030;">.</span>DESCRIPTION
Creates a zip file of all the scripts <span style="color: maroon; font-weight: bold;">in</span> the script library<span style="color: #808030;">,</span> then uses
system<span style="color: #808030;">.</span>net<span style="color: #808030;">.</span>webrequest to uploade it to a web site<span style="color: #808030;">.</span>
Uses ICSharpCode<span style="color: #808030;">.</span>SharpZipLib<span style="color: #808030;">.</span>dll
See http<span style="color: #808030;">:</span><span style="color: dimgrey;">//www.icsharpcode.net/OpenSource/SharpZipLib/</span>
<span style="color: #808030;">.</span>NOTES
File Name <span style="color: #808030;">:</span> zip<span style="color: #808030;">-</span>pshscripts<span style="color: #808030;">.</span>PS1
Author <span style="color: #808030;">:</span> Thomas Lee <span style="color: #808030;">-</span> tfl@psp<span style="color: #808030;">.</span>co<span style="color: #808030;">.</span>uk
Requires <span style="color: #808030;">:</span> PowerShell V2
NB<span style="color: #808030;">:</span>The credentials shown here <span style="color: maroon; font-weight: bold;">do</span> not work <span style="color: #808030;">(</span>well they shouldn't<span style="color: #808030;">)</span>
<span style="color: #808030;">.</span>LINK
http<span style="color: #808030;">:</span><span style="color: dimgrey;">//pshscripts.blogspot.com</span>
<span style="color: #808030;">.</span>EXAMPLE
Assuming credentials were correct<span style="color: #808030;">,</span> an example would be
PS C<span style="color: #808030;">:</span>\foo<span style="color: #808030;">></span> zip<span style="color: #808030;">-</span>pshscripts<span style="color: #808030;">.</span>PS1
Directory<span style="color: #808030;">:</span> C<span style="color: #808030;">:</span>\foo
Mode LastWriteTime Length Name
<span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span> <span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span> <span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span> <span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span>
<span style="color: #808030;">-</span>a<span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">-</span> <span style="color: #008c00;">12</span><span style="color: #808030;">/</span><span style="color: #008c00;">29</span><span style="color: #808030;">/</span><span style="color: #008c00;">2008</span> <span style="color: #008c00;">11</span><span style="color: #808030;">:</span><span style="color: #008c00;">34</span> AM <span style="color: #008c00;">68722</span> PSScriptLib<span style="color: #808030;">.</span>ZIP
Upload Stats<span style="color: #808030;">:</span>
<span style="color: #008c00;">226</span><span style="color: #808030;">-</span>Maximum disk quota limited to <span style="color: #008c00;">100000</span> Kbytes
Used disk quota <span style="color: #008c00;">63140</span> Kbytes<span style="color: #808030;">,</span> available <span style="color: #008c00;">36859</span> Kbytes
<span style="color: #008c00;">226</span> Transfer complete<span style="color: #808030;">.</span>
#<span style="color: #808030;">></span>
##
# Start of script
##
# First<span style="color: #808030;">,</span> load the zip library
<span style="color: #808030;">[</span><span style="color: maroon; font-weight: bold;">void</span><span style="color: #808030;">]</span> <span style="color: #808030;">[</span>System<span style="color: #808030;">.</span>Reflection<span style="color: #808030;">.</span>Assembly<span style="color: #808030;">]</span><span style="color: #808030;">:</span><span style="color: #808030;">:</span>LoadFrom<span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #0000e6;">C:\foo\bin\ICSharpCode.SharpZipLib.dll</span><span style="color: maroon;">"</span><span style="color: #808030;">)</span>
# Now create a <span style="color: maroon; font-weight: bold;">new</span> zip file <span style="color: maroon; font-weight: bold;">object</span>
$zip <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">new</span><span style="color: #808030;">-</span><span style="color: maroon; font-weight: bold;">object</span> ICSharpCode<span style="color: #808030;">.</span>SharpZipLib<span style="color: #808030;">.</span>Zip<span style="color: #808030;">.</span>FastZip
# Define what to zip and from where
$zipfile <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">C:\foo\PSScriptLib.ZIP</span><span style="color: maroon;">"</span>
$zipfrom <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">E:\PowerShellScriptLib</span><span style="color: maroon;">"</span>
$recurse <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">true</span><span style="color: maroon;">"</span>
$ziptoadd <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">.ps1</span><span style="color: maroon;">"</span>
# Now create the zip file
$zip<span style="color: #808030;">.</span>CreateZip<span style="color: #808030;">(</span>$zipfile<span style="color: #808030;">,</span> $zipfrom<span style="color: #808030;">,</span> $recurse<span style="color: #808030;">,</span> $ziptoadd<span style="color: #808030;">)</span>
ls $zipfile
# Here upload it
$sendto <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">ftp://www.reskit.net/powershell/scriptlib.zip</span><span style="color: maroon;">"</span>
$ftprequest <span style="color: #808030;">=</span> <span style="color: #808030;">[</span>system<span style="color: #808030;">.</span>net<span style="color: #808030;">.</span>ftpwebrequest<span style="color: #808030;">]</span><span style="color: #808030;">:</span><span style="color: #808030;">:</span>Create<span style="color: #808030;">(</span>$Sendto<span style="color: #808030;">)</span>
$ftprequest<span style="color: #808030;">.</span>Method <span style="color: #808030;">=</span> <span style="color: maroon;">"</span><span style="color: #0000e6;">STOR</span><span style="color: maroon;">"</span>
# Now get the zip file and store it into $fileconents
$file <span style="color: #808030;">=</span> Get<span style="color: #808030;">-</span>Content $zipfile
$enc <span style="color: #808030;">=</span> <span style="color: #808030;">[</span>system<span style="color: #808030;">.</span>text<span style="color: #808030;">.</span>encoding<span style="color: #808030;">]</span><span style="color: #808030;">:</span><span style="color: #808030;">:</span><span style="color: maroon; font-weight: bold;">default</span>
<span style="color: #808030;">[</span><span style="color: maroon; font-weight: bold;">byte</span><span style="color: #808030;">[</span><span style="color: #808030;">]</span><span style="color: #808030;">]</span> $filebyte<span style="color: #808030;">=</span> $enc<span style="color: #808030;">.</span>getbytes<span style="color: #808030;">(</span>$file<span style="color: #808030;">)</span>
# Set the length of the file to be sent
$length <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>ls $zipfile<span style="color: #808030;">)</span><span style="color: #808030;">.</span>length
$ftprequest<span style="color: #808030;">.</span>ContentLength <span style="color: #808030;">=</span> $length
# Now upload the file
# Let's assume the ftp server <span style="color: maroon; font-weight: bold;">is</span> anonomyous <span style="color: #808030;">(</span>it's not of course<span style="color: #808030;">!</span><span style="color: #808030;">)</span><span style="color: #808030;">.</span>
$ftprequest<span style="color: #808030;">.</span>Credentials <span style="color: #808030;">=</span> New<span style="color: #808030;">-</span>Object system<span style="color: #808030;">.</span>Net<span style="color: #808030;">.</span>NetworkCredential <span style="color: maroon;">"</span><span style="color: #0000e6;">anonymous</span><span style="color: maroon;">"</span><span style="color: #808030;">,</span><span style="color: maroon;">"</span><span style="color: #0000e6;">tfl@psp.co.uk</span><span style="color: maroon;">"</span>
$requestStream <span style="color: #808030;">=</span> $ftprequest<span style="color: #808030;">.</span>GetRequestStream<span style="color: #808030;">(</span><span style="color: #808030;">)</span>
$requestStream<span style="color: #808030;">.</span>Write<span style="color: #808030;">(</span>$filebyte<span style="color: #808030;">,</span> <span style="color: #008c00;">0</span><span style="color: #808030;">,</span> $length<span style="color: #808030;">)</span>
# Close file and get response
$requestStream<span style="color: #808030;">.</span>Close<span style="color: #808030;">(</span><span style="color: #808030;">)</span>
$response <span style="color: #808030;">=</span> $ftprequest<span style="color: #808030;">.</span>GetResponse<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
# Display stats
<span style="color: maroon;">"</span><span style="color: #0000e6;">Upload Stats:</span><span style="color: maroon;">"</span>
$response<span style="color: #808030;">.</span>StatusDescription
# Close response
$response<span style="color: #808030;">.</span>Close<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
</pre>
</body></html></pre>
</div>
Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-546036873798832453.post-83886336502041613572014-01-23T08:11:00.001-08:002014-11-27T07:21:38.756-08:00Show-Message.ps1<pre style="background: #ffffff; color: #000000"><html><pre><span style="color: #808030"><</span>#<br /><span style="color: #808030">.</span>SYNOPSIS<br /> This script creates a function to display a message<br /> <span style="font-weight: bold; color: #800000">in</span> a message block<span style="color: #808030">,</span> then demonstrates its usage<br /><span style="color: #808030">.</span>DESCRIPTION<br /> This script used Windows Forms to put up a message<br /> box containing text and a window title passed <span style="font-weight: bold; color: #800000">as</span> <br /> parameters<br /><span style="color: #808030">.</span>NOTES<br /> File Name <span style="color: #808030">:</span> Show<span style="color: #808030">-</span>Message<span style="color: #808030">.</span>ps1<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk<br /> Requires <span style="color: #808030">:</span> PowerShell Version <span style="color: #008000">3.0</span><br /><span style="color: #808030">.</span>LINK<br /> This script posted to<span style="color: #808030">:</span><br /> http<span style="color: #808030">:</span><span style="color: #696969">//www.pshscripts.blogspot.com</span><br /><span style="color: #808030">.</span>EXAMPLE<br /> Left <span style="font-weight: bold; color: #800000">as</span> an exercise to the Reader<br />#<span style="color: #808030">></span><br /><br />Function Show<span style="color: #808030">-</span>Message <span style="color: #800080">{</span><br /><br /><span style="color: #808030">[</span>CmdletBinding<span style="color: #808030">(</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br />Param <span style="color: #808030">(</span> <br /> <span style="color: #808030">[</span>Parameter<span style="color: #808030">(</span>Mandatory<span style="color: #808030">=</span>$True<span style="color: #808030">,</span> <br /> HelpMessage<span style="color: #808030">=</span><span style="color: #800000">"</span><span style="color: #0000e6">Content of Message box</span><span style="color: #800000">"</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br /> <span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span>$Message <span style="color: #808030">,</span><br /><br /> <span style="color: #808030">[</span>Parameter<span style="color: #808030">(</span>Mandatory<span style="color: #808030">=</span>$False<span style="color: #808030">,</span><br /> HelpMessage<span style="color: #808030">=</span><span style="color: #800000">"</span><span style="color: #0000e6">Title for Message box</span><span style="color: #800000">"</span><span style="color: #808030">)</span><span style="color: #808030">]</span><br /> <span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">string</span><span style="color: #808030">]</span>$BoxTitle <span style="color: #808030">=</span> <span style="color: #800000">"</span><span style="color: #0000e6">Message</span><span style="color: #800000">"</span><br /><span style="color: #808030">)</span> <br /><br /># just <span style="font-weight: bold; color: #800000">in</span> <span style="font-weight: bold; color: #800000">case</span><span style="color: #808030">,</span> load the relevant assembly<br />$v1 <span style="color: #808030">=</span> <span style="color: #808030">[</span>System<span style="color: #808030">.</span>Reflection<span style="color: #808030">.</span>Assembly<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>LoadWithPartialName<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">System.Windows.Forms</span><span style="color: #800000">"</span><span style="color: #808030">)</span><br /><br /># now use the messagebox <span style="font-weight: bold; color: #800000">class</span> to display the message<br /><span style="color: #808030">[</span>Windows<span style="color: #808030">.</span>Forms<span style="color: #808030">.</span>MessageBox<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>Show<span style="color: #808030">(</span>$Message<span style="color: #808030">,</span> $BoxTitle<span style="color: #808030">,</span> <br /> <span style="color: #808030">[</span>Windows<span style="color: #808030">.</span>Forms<span style="color: #808030">.</span>MessageBoxButtons<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>OK <span style="color: #808030">,</span> <br /> <span style="color: #808030">[</span>Windows<span style="color: #808030">.</span>Forms<span style="color: #808030">.</span>MessageBoxIcon<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>Information<span style="color: #808030">)</span> <br /><br /><span style="color: #800080">}</span> # End of function<br /><br /># Set an alias<br />Set<span style="color: #808030">-</span>Alias sm Show<span style="color: #808030">-</span>Message<br /><br /># call the function<br />sm 'testing<span style="color: #0000e6">' '</span>details<span style="color: #808030">,</span> details'<br /></pre><p></p></pre> Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-546036873798832453.post-31549808929500678302014-01-05T06:18:00.001-08:002014-11-27T07:39:19.392-08:00Show-TimeSpanFormatting.ps1<pre style="background: #ffffff; color: #000000"><html><pre><span style="color: #808030"><</span># <br /><span style="color: #808030">.</span>SYNOPSIS <br /> This script demonstrates formatting System<span style="color: #808030">.</span>TimeSpan objects<br /> Using PowerShell <br /><span style="color: #808030">.</span>DESCRIPTION <br /> This scipt re<span style="color: #808030">-</span>writes some MSDN Samples that demostarate <br /> timespan formatting <span style="color: #808030">-</span> the original article lacks PowerShell<br /> Examples<span style="color: #808030">.</span> And sadly<span style="color: #808030">,</span> the MSDN page no longer accepts community<br /> additions<span style="color: #808030">.</span><br /><br /><span style="color: #808030">.</span>NOTES <br /> File Name <span style="color: #808030">:</span> Show<span style="color: #808030">-</span>TimeSpanFormatting<br /> Author <span style="color: #808030">:</span> Thomas Lee <span style="color: #808030">-</span> tfl@psp<span style="color: #808030">.</span>co<span style="color: #808030">.</span>uk <br /> Requires <span style="color: #808030">:</span> PowerShell Version <span style="color: #008000">3.0</span> <br /><span style="color: #808030">.</span>LINK <br /> This script posted to<span style="color: #808030">:</span> <br /> http<span style="color: #808030">:</span><span style="color: #696969">//pshscripts.blogspot.co.uk/2014/01/show-timespanformattingps1.html</span><br /> Reference MSDN Page<br /> http<span style="color: #808030">:</span><span style="color: #696969">//msdn.microsoft.com/en-us/library/ee372286%28v=vs.110%29.aspx</span><br /><span style="color: #808030">.</span>EXAMPLE <br /> Psh<span style="color: #808030">></span> <span style="color: #808030">.</span>\Show<span style="color: #808030">-</span>TimeSpanFormatting<span style="color: #808030">.</span>ps1 <br /> Example <span style="color: #008c00">1</span><br /> Time of Travel<span style="color: #808030">:</span> <span style="color: #008000">1.12</span><span style="color: #808030">:</span><span style="color: #008c00">24</span><span style="color: #808030">:</span><span style="color: #008c00">02</span><br /> Time of Travel<span style="color: #808030">:</span> <span style="color: #008000">1.12</span><span style="color: #808030">:</span><span style="color: #008c00">24</span><span style="color: #808030">:</span><span style="color: #008c00">02</span><br /> Example <span style="color: #008c00">2</span><br /> Converted '<span style="color: #008000">1.03</span><span style="color: #808030">:</span><span style="color: #008c00">14</span><span style="color: #808030">:</span><span style="color: #008000">56.1667</span>' to <span style="color: #008000">1.03</span><span style="color: #808030">:</span><span style="color: #008c00">14</span><span style="color: #808030">:</span><span style="color: #008000">56.1667000</span><br /> Converted '<span style="color: #008000">1.03</span><span style="color: #808030">:</span><span style="color: #008c00">14</span><span style="color: #808030">:</span><span style="color: #008000">56.1667</span>' to <span style="color: #008000">1.03</span><span style="color: #808030">:</span><span style="color: #008c00">14</span><span style="color: #808030">:</span><span style="color: #008000">56.1667000</span><br /> Example <span style="color: #008c00">3</span><br /> <span style="color: #008c00">07</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008c00">16</span> <span style="color: #808030">-</span> <span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008c00">38</span> <span style="color: #808030">=</span> <span style="color: #808030">-</span><span style="color: #008c00">10</span><span style="color: #808030">:</span><span style="color: #008c00">27</span><span style="color: #808030">:</span><span style="color: #008c00">22</span><br /> <span style="color: #008c00">07</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008c00">16</span> <span style="color: #808030">+</span> <span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008c00">38</span> <span style="color: #808030">=</span> <span style="color: #008000">1.01</span><span style="color: #808030">:</span><span style="color: #008c00">57</span><span style="color: #808030">:</span><span style="color: #008c00">54</span><br /> <span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.3650000</span> <span style="color: #808030">+</span> <span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008000">00.2143756</span> <span style="color: #808030">=</span> <span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.5793756</span><br /> Example <span style="color: #008c00">4</span><br /> <span style="color: #008c00">7</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008c00">16</span> <span style="color: #808030">-</span> <span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008c00">38</span> <span style="color: #808030">=</span> <span style="color: #808030">-</span><span style="color: #008c00">10</span><span style="color: #808030">:</span><span style="color: #008c00">27</span><span style="color: #808030">:</span><span style="color: #008c00">22</span><br /> <span style="color: #008c00">7</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008c00">16</span> <span style="color: #808030">+</span> <span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008c00">38</span> <span style="color: #808030">=</span> <span style="color: #008c00">1</span><span style="color: #808030">:</span><span style="color: #008c00">1</span><span style="color: #808030">:</span><span style="color: #008c00">57</span><span style="color: #808030">:</span><span style="color: #008c00">54</span><br /> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.036</span> <span style="color: #808030">+</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008000">00.2143756</span> <span style="color: #808030">=</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.2503756</span><br /> Example <span style="color: #008c00">5</span><br /> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">07</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008000">16.0000000</span> <span style="color: #808030">-</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008000">38.0000000</span> <span style="color: #808030">=</span> <span style="color: #808030">-</span><span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">10</span><span style="color: #808030">:</span><span style="color: #008c00">27</span><span style="color: #808030">:</span><span style="color: #008000">22.0000000</span><br /> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">07</span><span style="color: #808030">:</span><span style="color: #008c00">45</span><span style="color: #808030">:</span><span style="color: #008c00">16</span><span style="color: #808030">,</span><span style="color: #008c00">0000000</span> <span style="color: #808030">+</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">18</span><span style="color: #808030">:</span><span style="color: #008c00">12</span><span style="color: #808030">:</span><span style="color: #008c00">38</span><span style="color: #808030">,</span><span style="color: #008c00">0000000</span> <span style="color: #808030">=</span> <span style="color: #008c00">1</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008c00">57</span><span style="color: #808030">:</span><span style="color: #008c00">54</span><span style="color: #808030">,</span><span style="color: #008c00">0000000</span><br /> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.0360000</span> <span style="color: #808030">+</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008000">00.2143756</span> <span style="color: #808030">=</span> <span style="color: #008c00">0</span><span style="color: #808030">:</span><span style="color: #008c00">00</span><span style="color: #808030">:</span><span style="color: #008c00">01</span><span style="color: #808030">:</span><span style="color: #008000">14.2503756</span><br />#<span style="color: #808030">></span> <br /><br /># Show Time Span Format Strings<br /><br /># Example <span style="color: #008c00">1</span> <span style="color: #808030">-</span> use both tostring<span style="color: #808030">(</span><span style="color: #808030">)</span> and <span style="color: #808030">-</span>f operators<br /><span style="color: #800000">"</span><span style="color: #0000e6">Example 1</span><span style="color: #800000">"</span><br /># Create Timespan <span style="font-weight: bold; color: #800000">object</span><br />$duration <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">1</span><span style="color: #808030">,</span> <span style="color: #008c00">12</span><span style="color: #808030">,</span> <span style="color: #008c00">23</span><span style="color: #808030">,</span> <span style="color: #008c00">62</span><br /><br /># Now output <span style="font-weight: bold; color: #800000">using</span> both tostring<span style="color: #808030">(</span><span style="color: #808030">)</span> and <span style="color: #808030">-</span>f<br /><span style="color: #800000">"</span><span style="color: #0000e6">Time of Travel: </span><span style="color: #800000">"</span> <span style="color: #808030">+</span> $duration<span style="color: #808030">.</span>ToString<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">c</span><span style="color: #800000">"</span><span style="color: #808030">)</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">Time of Travel: {0:c}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $duration<br /><br /># Example <span style="color: #008c00">2</span><br /># Demonstrate the use of ParseExact and TryParseExact<br /><span style="color: #800000">"</span><span style="color: #0000e6">Example 2</span><span style="color: #800000">"</span><br /><br />$value <span style="color: #808030">=</span> <span style="color: #800000">"</span><span style="color: #0000e6">1.03:14:56.1667</span><span style="color: #800000">"</span><br />$interval <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan<br /><br />Try <span style="color: #800080">{</span><br /> $interval <span style="color: #808030">=</span> <span style="color: #808030">[</span>System<span style="color: #808030">.</span>TimeSpan<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>ParseExact<span style="color: #808030">(</span>$value<span style="color: #808030">,</span> <span style="color: #800000">"</span><span style="color: #0000e6">c</span><span style="color: #800000">"</span><span style="color: #808030">,</span> $<span style="font-weight: bold; color: #800000">null</span><span style="color: #808030">)</span><br /> <span style="color: #800000">"</span><span style="color: #0000e6">Converted '{0}' to {1}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $value<span style="color: #808030">,</span> $interval<br /><span style="color: #800080">}</span> <br />Catch <span style="color: #808030">[</span>System<span style="color: #808030">.</span>FormatException<span style="color: #808030">]</span> <span style="color: #800080">{</span><span style="color: #800000">"</span><span style="color: #0000e6">{0}: Bad Format</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $value<span style="color: #800080">}</span> <br />Catch <span style="color: #808030">[</span>System<span style="color: #808030">.</span>OverflowException<span style="color: #808030">]</span> <span style="color: #800080">{</span><span style="color: #800000">"</span><span style="color: #0000e6">{0}: Out of Range</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $value <span style="color: #800080">}</span><br /><br />If <span style="color: #808030">(</span><span style="color: #808030">[</span>System<span style="color: #808030">.</span>TimeSpan<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>TryParseExact<span style="color: #808030">(</span>$value<span style="color: #808030">,</span> <span style="color: #800000">"</span><span style="color: #0000e6">c</span><span style="color: #800000">"</span><span style="color: #808030">,</span> $<span style="font-weight: bold; color: #800000">null</span><span style="color: #808030">,</span> <span style="color: #808030">[</span><span style="font-weight: bold; color: #800000">ref</span><span style="color: #808030">]</span> $interval<span style="color: #808030">)</span><span style="color: #808030">)</span> <span style="color: #800080">{</span><br /> <span style="color: #800000">"</span><span style="color: #0000e6">Converted '{0}' to {1}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $value<span style="color: #808030">,</span> $interval<br /><span style="color: #800080">}</span><br />Else <span style="color: #800080">{</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">Unable to convert {0} to a time interval.</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $value<br /><span style="color: #800080">}</span><br /><br /># Example <span style="color: #008c00">3</span><br /># Create two TimeSpan objects<span style="color: #808030">,</span> perform arithmetic operations<br /># on them then displays the result <span style="font-weight: bold; color: #800000">using</span> the <span style="color: #0000e6">'C'</span> format specifier<br /><span style="color: #800000">"</span><span style="color: #0000e6">Example 3</span><span style="color: #800000">"</span><br /><br />$interval1 <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">7</span><span style="color: #808030">,</span> <span style="color: #008c00">45</span><span style="color: #808030">,</span> <span style="color: #008c00">16</span><br />$interval2 <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">18</span><span style="color: #808030">,</span> <span style="color: #008c00">12</span><span style="color: #808030">,</span> <span style="color: #008c00">38</span><br /><br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:c} - {1:c} = {2:c}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span>$interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">-</span> $interval2<span style="color: #808030">)</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:c} + {1:c} = {2:c}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span>$interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span><br /><br />$interval1 <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">1</span><span style="color: #808030">,</span> <span style="color: #008c00">14</span><span style="color: #808030">,</span> <span style="color: #008c00">365</span><br />$interval2 <span style="color: #808030">=</span> <span style="color: #808030">[</span>System<span style="color: #808030">.</span>TimeSpan<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>FromTicks<span style="color: #808030">(</span><span style="color: #008c00">2143756</span><span style="color: #808030">)</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:c} + {1:c} = {2:c}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span> $interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span><br /><br /># Example <span style="color: #008c00">4</span> <span style="color: #808030">-</span> The <span style="color: #800000">"</span><span style="color: #0000e6">g</span><span style="color: #800000">"</span> Format Specifier<br /># This specifier returns the <span style="font-weight: bold; color: #800000">string</span> representation of a TimeSpan value <span style="font-weight: bold; color: #800000">in</span> a compact form<br /># by including only the elements that are necessary<span style="color: #808030">.</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">Example 4</span><span style="color: #800000">"</span><br /><br />$interval1 <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">7</span><span style="color: #808030">,</span> <span style="color: #008c00">45</span><span style="color: #808030">,</span> <span style="color: #008c00">16</span><br />$interval2 <span style="color: #808030">=</span> New<span style="color: #808030">-</span>Object System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">18</span><span style="color: #808030">,</span> <span style="color: #008c00">12</span><span style="color: #808030">,</span> <span style="color: #008c00">38</span><br /><br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:g} - {1:g} = {2:g}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span> $interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">-</span> $interval2<span style="color: #808030">)</span><br /><br /># <span style="font-weight: bold; color: #800000">do</span> it <span style="font-weight: bold; color: #800000">in</span> French<br />$CI <span style="color: #808030">=</span> New<span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> System<span style="color: #808030">.</span>Globalization<span style="color: #808030">.</span>CultureInfo 'fr<span style="color: #808030">-</span>FR'<br /><span style="color: #808030">[</span>System<span style="color: #808030">.</span>String<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>Format<span style="color: #808030">(</span>$CI<span style="color: #808030">,</span> $<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">{0:g} + {1:g} = {2:g}</span><span style="color: #800000">"</span><span style="color: #808030">)</span> <span style="color: #808030">,</span><br /> $interval1<span style="color: #808030">,</span>$interval2<span style="color: #808030">,</span>$<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span> <span style="color: #808030">)</span><br /># Another interval<br />$interval1 <span style="color: #808030">=</span> <span style="font-weight: bold; color: #800000">new</span><span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">1</span><span style="color: #808030">,</span> <span style="color: #008c00">14</span><span style="color: #808030">,</span> <span style="color: #008c00">36</span><br />$interval2 <span style="color: #808030">=</span> <span style="color: #808030">[</span>System<span style="color: #808030">.</span>TimeSpan<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>FromTicks<span style="color: #808030">(</span><span style="color: #008c00">2143756</span><span style="color: #808030">)</span> <br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:g} + {1:g} = {2:g}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span> $interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span><br /><br /># Example <span style="color: #008c00">5</span><br /># Using the "G' Specifier<br />#<br /><span style="color: #800000">"</span><span style="color: #0000e6">Example 5</span><span style="color: #800000">"</span><br />$interval1 <span style="color: #808030">=</span> <span style="font-weight: bold; color: #800000">new</span><span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">7</span><span style="color: #808030">,</span> <span style="color: #008c00">45</span><span style="color: #808030">,</span> <span style="color: #008c00">16</span><br />$interval2 <span style="color: #808030">=</span> <span style="font-weight: bold; color: #800000">new</span><span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">18</span><span style="color: #808030">,</span> <span style="color: #008c00">12</span><span style="color: #808030">,</span> <span style="color: #008c00">38</span><br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:G} - {1:G} = {2:G}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span> $interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">-</span>$interval2<span style="color: #808030">)</span><br /><span style="color: #808030">[</span>System<span style="color: #808030">.</span>String<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>Format<span style="color: #808030">(</span>$<span style="color: #808030">(</span>New<span style="color: #808030">-</span>Object CultureInfo<span style="color: #808030">(</span><span style="color: #800000">"</span><span style="color: #0000e6">fr-FR</span><span style="color: #800000">"</span><span style="color: #808030">)</span><span style="color: #808030">)</span><span style="color: #808030">,</span> <br /> <span style="color: #800000">"</span><span style="color: #0000e6">{0:G} + {1:G} = {2:G}</span><span style="color: #800000">"</span><span style="color: #808030">,</span> $interval1<span style="color: #808030">,</span> <br /> $interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span><span style="color: #808030">)</span><br /> <br />$interval1 <span style="color: #808030">=</span> <span style="font-weight: bold; color: #800000">new</span><span style="color: #808030">-</span><span style="font-weight: bold; color: #800000">object</span> System<span style="color: #808030">.</span>TimeSpan <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">0</span><span style="color: #808030">,</span> <span style="color: #008c00">1</span><span style="color: #808030">,</span> <span style="color: #008c00">14</span><span style="color: #808030">,</span> <span style="color: #008c00">36</span><br />$interval2 <span style="color: #808030">=</span> <span style="color: #808030">[</span>System<span style="color: #808030">.</span>TimeSpan<span style="color: #808030">]</span><span style="color: #808030">:</span><span style="color: #808030">:</span>FromTicks<span style="color: #808030">(</span><span style="color: #008c00">2143756</span><span style="color: #808030">)</span> <br /><span style="color: #800000">"</span><span style="color: #0000e6">{0:G} + {1:G} = {2:G}</span><span style="color: #800000">"</span> <span style="color: #808030">-</span>f $interval1<span style="color: #808030">,</span>$interval2<span style="color: #808030">,</span> $<span style="color: #808030">(</span>$interval1 <span style="color: #808030">+</span> $interval2<span style="color: #808030">)</span><br /></pre><p></p></pre> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-75471991403941990132013-11-14T03:50:00.001-08:002013-11-14T03:50:17.308-08:00Fix-FileName.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 730px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    Defines a <span class="keyword">function</span><span> to remove </span><span class="string">'invalid'</span><span> characters  </span></span></li> <li class="class"><span>    from a file name.  </span></li> <li class="alt"><span>.DESCRIPTION  </span></li> <li class="class"><span>    Some programs do not like certain <span class="string">'invalid'</span><span> characters  </span></span></li> <li class="alt"><span>    <span class="keyword">in</span><span> a file name used by that application. The </span><span class="keyword">function</span><span>  </span></span></li> <li class="class"><span>    takes a look at each the file name and replaces some invalid  </span></li> <li class="alt"><span>    characters with <span class="string">'-'</span><span>.  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>    This <span class="keyword">function</span><span> takes a file name and </span><span class="string">'fixes'</span><span> it and returns  </span></span></li> <li class="class"><span>    the <span class="string">'fixed'</span><span> file name. Needless to say the characters to match  </span></span></li> <li class="alt"><span>    and what to replace them with is an application specific decision!  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Fix-FileName.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    Psh> .\Fix-FileName.ps1  </span></li> <li class="alt"><span>    File name was: 123{}{{{|[\]  </span></li> <li class="class"><span>    Fixed name is: 123--------  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment">#></span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>Function Fix-FileName {  </span></li> <li class="class"><span>[CMdletbinding()]  </span></li> <li class="alt"><span>Param (  </span></li> <li class="class"><span><span class="variable">$fn</span><span> = $(throw </span><span class="string">'no file name specified - returning'</span><span>)  </span></span></li> <li class="alt"><span>)  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>Switch -Regex (<span class="variable">$fn</span><span>) {  </span></span></li> <li class="class"><span>  <span class="string">"}"</span><span>  { </span><span class="variable">$fn</span><span> = </span><span class="variable">$fn</span><span> -replace </span><span class="string">'{'</span><span>,</span><span class="string">'-'</span><span>  }  </span></span></li> <li class="alt"><span>  <span class="string">"}"</span><span>  { </span><span class="variable">$fn</span><span> = </span><span class="variable">$fn</span><span> -replace </span><span class="string">'}'</span><span>,</span><span class="string">'-'</span><span>  }  </span></span></li> <li class="class"><span>  <span class="string">"\]"</span><span> { </span><span class="variable">$fn</span><span> = </span><span class="variable">$fn</span><span> -replace </span><span class="string">']'</span><span>,</span><span class="string">'-'</span><span>  }  </span></span></li> <li class="alt"><span>  <span class="string">"\["</span><span> { </span><span class="variable">$fn</span><span> = </span><span class="variable">$fn</span><span> -replace </span><span class="string">'\['</span><span>,</span><span class="string">'-'</span><span> }  </span></span></li> <li class="class"><span>  <span class="string">"\\" { $fn = $fn -replace '\\','-' }</span> </span></li> <li class="alt"><span><span class="string">  "</span><span>\|</span><span class="string">" { $fn = $fn -replace '\|','-' }</span> </span></li> <li class="class"><span><span class="string">}</span> </span></li> <li class="alt"><span><span class="string">$fn</span> </span></li> <li class="class"><span><span class="string">}</span> </span></li> <li class="alt"><span><span class="string"></span> </span></li> <li class="class"><span><span class="string">$fn = "</span><span>123{}{{{|[\]</span><span class="string">"</span> </span></li> <li class="alt"><span><span class="string">$fnf = Fix-FileName $fn</span> </span></li> <li class="class"><span><span class="string">"</span><span>File name was: </span><span class="variable">$fn</span><span class="string">"</span> </span></li> <li class="alt"><span><span class="string">"</span><span>Fixed name is: </span><span class="variable">$fnf</span><span>"  </span></span></li> </ol> </div> <div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9a0ed646-6a39-4d32-b594-eed9ebe5cdb9" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/Regular+Expressions" rel="tag">Regular Expressions</a>,<a href="http://technorati.com/tags/replace" rel="tag">replace</a>,<a href="http://technorati.com/tags/file+name" rel="tag">file name</a></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-68684496607708446452013-10-16T05:56:00.001-07:002013-10-16T05:56:13.209-07:00Get-SQLServer2.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 800px; width: 101.19%"> <div class="bar"></div> <ol class="dp-c"> <li class="alt"><span><span class="preprocessor">#Requires -Version 3.0</span><span>  </span></span></li> <li class="class"><span><#  </span></li> <li class="alt"><span>.SYNOPSIS  </span></li> <li class="class"><span>    This script Gets a list of SQL Severs on the Subnet  </span></li> <li class="alt"><span>.DESCRIPTION  </span></li> <li class="class"><span>    This script uses SMO to Find all the local SQL Servers   </span></li> <li class="alt"><span>    and displays them  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>.NOTES  </span></li> <li class="class"><span>    File Name  : Get-SQLServer2.ps1  </span></li> <li class="alt"><span>    Author     : Thomas Lee - tfl@psp.co.uk  </span></li> <li class="class"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="alt"><span>.LINK  </span></li> <li class="class"><span>    This script posted to:  </span></li> <li class="alt"><span>        http:<span class="comment">//www.pshscripts.blogspot.com</span><span>  </span></span></li> <li class="class"><span>.EXAMPLE  </span></li> <li class="alt"><span>    PS>  # On a Lync Server looking at Lync Implementation  </span></li> <li class="alt"><span>    PS>  Get-SQLServer2  </span></li> <li class="class"><span>    There are 7 SQL Server(s) on the Local Subnet  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span>    ServerName      InstanceName Version       </span></li> <li class="alt"><span>    ----------      ------------ -------       </span></li> <li class="class"><span>    2013-LYNC-MGT   MON          10.50.2500.0  </span></li> <li class="alt"><span>    2013-LYNC-MGT   SCOM         10.50.2500.0  </span></li> <li class="class"><span>    2013-TS         RTCLOCAL     11.0.2100.60  </span></li> <li class="alt"><span>    2013-SHAREPOINT SPSDB        11.0.3000.0   </span></li> <li class="class"><span>    2013-LYNC-FE    RTC          11.0.2100.60  </span></li> <li class="alt"><span>    2013-LYNC-FE    RTCLOCAL     11.0.2100.60  </span></li> <li class="class"><span>    2013-LYNC-FE    LYNCLOCAL    11.0.2100.60  </span></li> <li class="alt"><span><span class="preprocessor">    </span> </span></li> <li class="class"><span><span class="preprocessor">#></span><span>  </span></span></li> <li class="class"><span><span></span></span></li> <li class="alt"><span>Import-Module SQLPS  </span></li> <li class="class"><span> </span></li> <li class="class"><span><span class="preprocessor"># Now get all the database servers on the local subnet</span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>$SQLservers = [System.Data.Sql.SqlDataSourceEnumerator]::Instance.GetDataSources()  </span></li> <li class="alt"><span>$Srvs= @()  </span></li> <li class="class"><span><span class="preprocessor"></span> </span></li> <li class="alt"><span><span class="preprocessor"># Convert collection to an array</span><span>  </span></span></li> <li class="class"><span>Foreach ($srv <span class="keyword">in</span><span> $SQLservers) {  </span></span></li> <li class="alt"><span>$srvs += $srv  </span></li> <li class="class"><span>}  </span></li> <li class="alt"><span><span class="preprocessor"></span> </span></li> <li class="class"><span><span class="preprocessor"># Now display results</span><span>  </span></span></li> <li class="alt"><span>If ($Srvs.count -LE 0) {  </span></li> <li class="class"><span><span class="string"> "There are no SQL Servers on the Local Subnet"</span><span>  </span></span></li> <li class="alt"><span><span class="keyword"> return</span></span></li> <li class="alt"><span><span class="keyword"></span><span>}  </span></span></li> <li class="class"><span><span class="preprocessor"></span> </span></li> <li class="alt"><span><span class="preprocessor"># Now print server details</span><span>  </span></span></li> <li class="class"><span><span class="string">"There are {0} SQL Server(s) on the Local Subnet"</span><span> -f $Srvs.count  </span></span></li> <li class="alt"><span>$Srvs | Select ServerName, InstanceName, Version | Format-Table -AutoSize  </span></li> </ol> </div> <div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:87460402-835b-4dd5-9556-7175c15cb16b" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/SQL+Server+2012" rel="tag">SQL Server 2012</a>,<a href="http://technorati.com/tags/SQL+Server+2012+SMOs" rel="tag">SQL Server 2012 SMOs</a></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-91615578334298019832013-10-12T12:55:00.001-07:002013-10-12T12:55:18.867-07:00Get-OLCalendarItem<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 1223px; width: 99%"> <div class="bar"></div> <ol class="dp-c"> <li class="alt"><span><span>Function Get-OLCalendarItem {  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span><#  </span></li> <li class="alt"><span>.SYNOPSIS  </span></li> <li class="class"><span>    A <span class="keyword">function</span><span> to retreive Outlook Calender items between two dates.   </span></span></li> <li class="alt"><span>    Returns PSobjects containing each item.  </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    The <span class="keyword">function</span><span> opens one's outlook calender, then retrieves the items.   </span></span></li> <li class="class"><span>    The <span class="keyword">function</span><span> takes 2 parameter: start, end - items are returned that   </span></span></li> <li class="alt"><span>    start betweween these two dates.  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Get-OLCalendarItem  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl@psp.co.uk  </span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http:<span class="comment">//www.pshscripts.blogspot.com</span><span>  </span></span></li> <li class="alt"><span>      </span></li> <li class="class"><span>.EXAMPLE  </span></li> <li class="alt"><span>    Left as an exercise <span class="keyword">for</span><span> the reader       </span></span></li> <li class="class"><span><span class="preprocessor"></span> </span></li> <li class="alt"><span><span class="preprocessor">#></span><span>  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>[CmdletBinding()]  </span></li> <li class="class"><span>Param (  </span></li> <li class="alt"><span>$start = $(Get-Date) ,  </span></li> <li class="class"><span>$end   = $((Get-date).AddMonths(1))  </span></li> <li class="alt"><span>)  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>Write-Verbose <span class="string">"Returning objects between: $($start.tostring()) and $($end.tostring())"</span><span>  </span></span></li> <li class="class"><span><span class="preprocessor"># Load Outlook interop and Outlook iteslf</span><span>  </span></span></li> <li class="alt"><span>[Reflection.Assembly]::LoadWithPartialname(<span class="string">"Microsoft.Office.Interop.Outlook"</span><span>) | out-</span><span class="keyword">null</span><span>  </span></span></li> <li class="class"><span>$Outlook = <span class="keyword">new</span><span>-object -comobject outlook.application  </span></span></li> <li class="alt"><span><span class="preprocessor"></span> </span></li> <li class="class"><span><span class="preprocessor"># Get OL default folders</span><span>  </span></span></li> <li class="alt"><span>$OlFolders = <span class="string">"Microsoft.Office.Interop.Outlook.OlDefaultFolders"</span><span> -as [type]  </span></span></li> <li class="class"><span>$Namespace = $Outlook.GetNameSpace(<span class="string">"MAPI"</span><span>)  </span></span></li> <li class="alt"><span>$Calendar = $namespace.GetDefaultFolder($olFolders::olFolderCalendar)  </span></li> <li class="class"><span>Write-Verbose <span class="string">"There are $($calendar.items.count) items in the calender in total"</span><span>  </span></span></li> <li class="alt"><span><span class="preprocessor"></span> </span></li> <li class="class"><span><span class="preprocessor"># Now return psobjects for all items between 2 dates</span><span>  </span></span></li> <li class="alt"><span>ForEach ($citem <span class="keyword">in</span><span> ($Calendar.Items | sort start)) {  </span></span></li> <li class="class"><span><span class="preprocessor">#Write-Verbose "Processing [$($citem.Subject)]  Starting: [$($Citem.Start)]"</span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>If ($citem.start -ge $start -and $citem.start -LE $end) {   </span></li> <li class="alt"><span>  </span></li> <li class="class"><span>$CalHT =[ordered]  @{  </span></li> <li class="alt"><span>Subject          =  $($Citem.Subject)  </span></li> <li class="class"><span>Location         =  $($Citem.Location);  </span></li> <li class="alt"><span>Start            =  $(Get-Date $Citem.Start);  </span></li> <li class="class"><span>StartUTC         =  $(Get-Date $Citem.StartUTC);                                    </span></li> <li class="alt"><span>End              =  $(Get-Date $Citem.End);  </span></li> <li class="class"><span>EndUTC           =  $(Get-Date $Citem.EndUTC);  </span></li> <li class="alt"><span>Duration         =  $($Citem.Duration);  </span></li> <li class="class"><span>Importance       =  $($Citem.Importance);  </span></li> <li class="alt"><span>IsRecurring      =  $($Citem.IsRecurring);  </span></li> <li class="class"><span>AllDayEvent      =  $($citem.AllDayEvent);  </span></li> <li class="alt"><span>Sensitivity      =  $($Citem.Sensitivity);  </span></li> <li class="class"><span>ReminderSet      =  $($Citem.ReminderSet);  </span></li> <li class="alt"><span>CreationTime     =  $($Citem.CreationTime);  </span></li> <li class="class"><span>LastModificationTime = $($Citem.LastModificationTime);  </span></li> <li class="alt"><span>Body             =  $($Citem.Body);  </span></li> <li class="class"><span>}  </span></li> <li class="alt"><span><span class="preprocessor"></span> </span></li> <li class="class"><span><span class="preprocessor"></span> </span></li> <li class="alt"><span><span class="preprocessor"># Write the item out as a custom item</span><span>  </span></span></li> <li class="class"><span>$o=New-Object PSobject -Property $CalHT  </span></li> <li class="alt"><span>Write-Output $o  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>}  </span></li> <li class="class"><span>} #End of foreach  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span>}  # End of <span class="keyword">function</span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>Set-Alias GCALI Get-OLCalendarItem   </span></li> </ol> </div> <div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:656ec142-5dff-49c9-8a42-a65025af1762" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/Outlook" rel="tag">Outlook</a>,<a href="http://technorati.com/tags/Calendar" rel="tag">Calendar</a></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-57043400795556123912013-08-28T07:06:00.001-07:002013-08-28T07:06:28.150-07:00Get-DHCPPerf.Ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 1721px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script gets and displays perf counters <span class="keyword">for</span><span> DHCP  </span></span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script uses the Get-Counter cmdlet to get all  </span></li> <li class="class"><span>    the counters <span class="keyword">for</span><span> DHCP. The </span><span class="keyword">function</span><span> does this </span><span class="keyword">for</span><span> one  </span></span></li> <li class="alt"><span>    DHCP server at a time.  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 2.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    C:\Foo> Get-DHCPPerformanceCounters -comp dhcp2  </span></li> <li class="alt"><span>     Performance counters <span class="keyword">for</span><span>: dhcp2  </span></span></li> <li class="class"><span>     \\dhcp1\dhcp server\failover: bndupd dropped.                                           0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\failover: transitions to recover state.                             8  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\failover: transitions to partner-down state.                        0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\failover: transitions to communication-interrupted state.           9  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\failover: bndupd pending <span class="keyword">in</span><span> outbound queue.                         0  </span></span></li> <li class="alt"><span>     \\dhcp1\dhcp server\failover: bndack received/sec.                                      0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\failover: bndack sent/sec.                                          0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\failover: bndupd received/sec.                                      0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\failover: bndupd sent/sec.                                          0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\denied due to nonmatch.                                             0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\denied due to match.                                                0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\offer queue length                                                  0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\releases/sec                                                        0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\declines/sec                                                        0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\nacks/sec                                                           0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\acks/sec                                                            0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\informs/sec                                                         0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\requests/sec                                                        0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\offers/sec                                                          0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\discovers/sec                                                       0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\conflict check queue length                                         0  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\active queue length                                                 0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\milliseconds per packet (avg).                                     28  </span></li> <li class="alt"><span>     \\dhcp1\dhcp server\packets expired/sec                                                 0  </span></li> <li class="class"><span>     \\dhcp1\dhcp server\duplicates dropped/sec                                              0  </span></li> <li class="alt"><span><span class="comment">#></span><span>  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment"># Get-DHCPPerformanceCounters function</span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>Function Get-DHCPPerformanceCounters {  </span></li> <li class="alt"><span>Param (  </span></li> <li class="class"><span><span class="variable">$comp</span><span> = </span><span class="string">'localhost'</span><span>)  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment"># Get DHCP Counters</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$set</span><span> = get-counter -listset </span><span class="string">"DHCP Server"</span><span>  </span></span></li> <li class="class"><span><span class="variable">$ctrs</span><span> = </span><span class="variable">$set</span><span>.counter  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="string">" Performance counters for: {0}"</span><span> -f </span><span class="variable">$comp</span><span>  </span></span></li> <li class="alt"><span><span class="comment"># For each counter, get the sample</span><span>  </span></span></li> <li class="class"><span><span class="keyword">foreach</span><span> (</span><span class="variable">$ctr</span><span> </span><span class="keyword">in</span><span> </span><span class="variable">$ctrs</span><span>) {  </span></span></li> <li class="alt"><span> <span class="variable">$sample</span><span> = (get-counter </span><span class="variable">$ctr</span><span>).countersamples  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span> <span class="string">"{0,-78} {1,10}"</span><span> -f </span><span class="variable">$sample</span><span>.path, </span><span class="variable">$sample</span><span>.cookedvalue  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>}  </span></li> <li class="alt"><span>}  </span></li> <li class="class"><span>  </span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment"># Now test it</span><span>  </span></span></li> <li class="alt"><span>Get-DHCPPerformanceCounters -comp dhcp1  </span></li> <li class="class"><span>Get-DHCPPerformanceCounters -comp dhcp2  </span></li> </ol> </div> <div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b63f0b4a-0b4e-4858-89c1-04b2bbcb9615" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/DHCP" rel="tag">DHCP</a></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-4914134511846929502013-07-29T08:42:00.001-07:002013-07-29T08:42:17.927-07:00Get-Zip.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 1524px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script demonstrates the use of the Zip lib <span class="keyword">in</span><span> .NET  </span></span></li> <li><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script is a re-write of an MSDN sample, using PowerShell  </span></li> <li><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-ZIP.ps1  </span></li> <li><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li><span>         http://msdn.microsoft.com/en-us/library/system.io.compression.zipfile.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li><span>    PSH> .\Show-Zip  </span></li> <li class="alt"><span>      </span></li> <li><span>    Directory: C:\example  </span></li> <li class="alt"><span>Mode        LastWriteTime  Length Name                                                                                                                             </span></li> <li><span>----        -------------  ------ ----                                                                                                                             </span></li> <li class="alt"><span>d---- 7/29/2013   4:35 PM        extract                                                                                                                          </span></li> <li><span>d---- 7/29/2013   4:29 PM        start                                                                                                                            </span></li> <li class="alt"><span>-a--- 7/29/2013   4:35 PM   1668 result.zip                                                                                                                       </span></li> <li><span>  </span></li> <li class="alt"><span>  </span></li> <li><span>    Directory: C:\example\extract  </span></li> <li class="alt"><span>Mode        LastWriteTime  Length Name                                                                                                                             </span></li> <li><span>----        -------------  ------ ----                                                                                                                             </span></li> <li class="alt"><span>-a---  7/29/2013  4:28 PM    5609 d1.txt                                                                                                                           </span></li> <li><span>-a---  7/29/2013  4:29 PM   67308 d2.txt                                                                                                                           </span></li> <li class="alt"><span>-a---  7/29/2013  4:29 PM   67308 d3.txt                                                                                                                           </span></li> <li><span>-a---  7/29/2013  4:29 PM   67308 d4.txt                                                                                                                           </span></li> <li class="alt"><span>-a---  7/29/2013  4:29 PM   67308 d5.txt                                                                                                                           </span></li> <li><span>  </span></li> <li class="alt"><span>  </span></li> <li><span>    Directory: C:\example\start  </span></li> <li class="alt"><span>Mode        LastWriteTime     Length Name                                                                                                                             </span></li> <li><span>----        ------------     ------ ----                                                                                                                             </span></li> <li class="alt"><span>-a---  7/29/2013  4:28 PM    5609 d1.txt                                                                                                                           </span></li> <li><span>-a---  7/29/2013  4:29 PM   67308 d2.txt                                                                                                                           </span></li> <li class="alt"><span>-a---  7/29/2013  4:29 PM   67308 d3.txt                                                                                                                           </span></li> <li><span>-a---  7/29/2013  4:29 PM   67308 d4.txt                                                                                                                           </span></li> <li class="alt"><span>-a---  7/29/2013  4:29 PM   67308 d5.txt                                                                                                                           </span></li> <li><span><span class="comment">#></span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li><span><span class="comment"># Load the compression namespace </span><span>  </span></span></li> <li class="alt"><span><span class="comment"># And yes, I know this usage is obsolete - but it works. </span><span>  </span></span></li> <li><span><span class="comment"># Ignore the output </span><span>  </span></span></li> <li class="alt"><span>[System.Reflection.Assembly]::LoadWithPartialName(<span class="string">'System.IO.Compression.FileSystem'</span><span>) | out-null  </span></span></li> <li><span>  </span></li> <li class="alt"><span><span class="comment"># Set locations</span><span>  </span></span></li> <li><span><span class="variable">$startPath</span><span> = </span><span class="string">"c:\example\start"</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$zipPath</span><span> = </span><span class="string">"c:\example\result.zip"</span><span>  </span></span></li> <li><span><span class="variable">$extractPath</span><span> = </span><span class="string">"c:\example\extract"</span><span>  </span></span></li> <li class="alt"><span><span class="builtin">Remove-Item</span><span> </span><span class="variable">$zipPath</span><span> -ea SilentlyContinue  </span></span></li> <li><span><span class="builtin">Remove-Item</span><span> -Path </span><span class="variable">$extractPath</span><span> -inc * -Recurse -ea SilentlyContinue  </span></span></li> <li class="alt"><span>  </span></li> <li><span><span class="comment"># Create the zip file</span><span>  </span></span></li> <li class="alt"><span>[System.IO.Compression.ZipFile]::CreateFromDirectory(<span class="variable">$startPath</span><span>, </span><span class="variable">$zipPath</span><span>)  </span></span></li> <li><span>  </span></li> <li class="alt"><span><span class="comment"># Extract from zip and show what's all there</span><span>  </span></span></li> <li><span>[System.IO.Compression.ZipFile]::ExtractToDirectory(<span class="variable">$zipPath</span><span>,</span><span class="variable">$extractPath</span><span>);  </span></span></li> <li class="alt"><span>ls c:\example -Recurse  </span></li> <li><span>          </span></li> </ol> </div> <div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f39b94f7-d20e-4cdd-8601-4c50b718d3da" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">Technorati Tags: <a href="http://technorati.com/tags/System.Io.Compression" rel="tag">System.Io.Compression</a>,<a href="http://technorati.com/tags/ZipFile" rel="tag">ZipFile</a></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-72554122392604505292013-07-28T04:28:00.001-07:002013-07-28T04:41:07.586-07:00Show-NumberGroupSizes.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 577px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script demonstrates the use of the NumberGroupSizes  </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script is a re-write of an MSDN sample, using PowerShell  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-NumberGroupSizes.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li class="class"><span>         http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numbergroupsizes%28v=vs.100%29.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    PSH> .\Show-NumberGroupSizes.ps1  </span></li> <li class="alt"><span>    123,456,789,012,345.00  </span></li> <li class="class"><span>    12,3456,7890,123,45.00  </span></li> <li class="alt"><span>    1234567890,123,45.00  </span></li> <li class="class"><span><span class="comment">#></span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment"># Get Number Format</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$nf</span><span>  = </span><span class="builtin">New-Object</span><span> System.Globalization.CultureInfo  </span><span class="string">"en-US"</span><span>, </span><span class="variable">$False</span><span>   </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span> = </span><span class="variable">$nf</span><span>.NumberFormat  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>[Int64] <span class="variable">$myInt</span><span> = 123456789012345  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"N"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Display the same value with different groupings</span><span>  </span></span></li> <li class="class"><span>[int[]] <span class="variable">$MySizes1</span><span> = 2,3,4  </span></span></li> <li class="alt"><span>[int[]] <span class="variable">$MySizes2</span><span> = 2,3,0  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="variable">$nfi</span><span>.NumberGroupSizes = </span><span class="variable">$mySizes1</span><span>  </span></span></li> <li class="class"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"N"</span><span>,</span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="alt"><span><span class="variable">$nfi</span><span>.NumberGroupSizes = </span><span class="variable">$mySizes2</span><span>  </span></span></li> <li class="class"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"N"</span><span>, </span><span class="variable">$nfi</span><span> )   </span></span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-15364216559644587222013-06-28T07:38:00.000-07:002013-07-28T07:47:53.565-07:00Show-CurrencyFormatting.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 789px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script re-implements an MSDN Sample showing the   </span></li> <li><span>    use of the NumberFormat class to nicely format things  </span></li> <li class="alt"><span>    <span class="keyword">in</span><span> this case, currency.  </span></span></li> <li><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script iterates through the Windows cultures and  </span></li> <li><span>    displays those whose 2-letter ISO code is <span class="string">'en'</span><span> and   </span></span></li> <li class="alt"><span>    displays how Windows formats currency <span class="keyword">in</span><span> that culture.   </span></span></li> <li><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-CurrencyFormatting.ps1  </span></li> <li><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 2.0  </span></li> <li><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li><span>        http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li><span>    Psh > .\Show-CurrencyFormatting.ps1  </span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (United States)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (United Kingdom)'</span><span> is </span><span class="string">'£'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Australia)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Canada)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (New Zealand)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Ireland)'</span><span> is </span><span class="string">'€'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (South Africa)'</span><span> is </span><span class="string">'R'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Jamaica)'</span><span> is </span><span class="string">'J$'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Caribbean)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Belize)'</span><span> is </span><span class="string">'BZ$'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Trinidad and Tobago)'</span><span> is </span><span class="string">'TT$'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Zimbabwe)'</span><span> is </span><span class="string">'Z$'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Republic of the Philippines)'</span><span> is </span><span class="string">'Php'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Singapore)'</span><span> is </span><span class="string">'$'</span><span>  </span></span></li> <li class="alt"><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (Malaysia)'</span><span> is </span><span class="string">'RM'</span><span>  </span></span></li> <li><span>    The currency symbol <span class="keyword">for</span><span> </span><span class="string">'English (India)'</span><span> is </span><span class="string">'Rs.'</span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li><span><span class="comment">#></span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li><span><span class="comment">#  Loop through all the specific cultures known to the CLR.</span><span>  </span></span></li> <li class="alt"><span><span class="keyword">foreach</span><span> (</span><span class="variable">$ci</span><span> </span><span class="keyword">in</span><span> [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::SpecificCultures))   </span></span></li> <li><span>   {  </span></li> <li class="alt"><span>     <span class="comment"># Only show the currency symbols for cultures that speak English.</span><span>  </span></span></li> <li><span>     <span class="keyword">if</span><span> (</span><span class="variable">$ci</span><span>.TwoLetterISOLanguageName -eq </span><span class="string">"en"</span><span>) {  </span></span></li> <li class="alt"><span>     <span class="comment"># Display the culture name and currency symbol.</span><span>  </span></span></li> <li><span>        <span class="variable">$nfi</span><span> = </span><span class="variable">$ci</span><span>.NumberFormat  </span></span></li> <li class="alt"><span>        <span class="string">"The currency symbol for '{0}' is '{1}'"</span><span> -f </span><span class="variable">$ci</span><span>.DisplayName, </span><span class="variable">$nfi</span><span>.CurrencySymbol  </span></span></li> <li><span>     }  </span></li> <li class="alt"><span>   }  </span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-51514795997995784562013-06-20T07:28:00.000-07:002013-07-28T07:27:40.415-07:00Show-CurrencyGroupSize.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script reimplements a code sample from MSDN <span class="keyword">in</span><span> PowerShell.  </span></span></li> <li class="class"><span>    This sample formats and display currency using standard and  </span></li> <li class="alt"><span>    different currency groupings.   </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script displays a currency using standard, then two  </span></li> <li class="class"><span>    custom CurrencyGroupSizes.  </span></li> <li class="alt"><span>.NOTES  </span></li> <li class="class"><span>    File Name  : Show-CurrencyGroupSize.ps1  </span></li> <li class="alt"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="class"><span>    Requires   : PowerShell Version 2.0  </span></li> <li class="alt"><span>.LINK  </span></li> <li class="class"><span>    This script posted to:  </span></li> <li class="alt"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="class"><span>    MSDN sample posted to:  </span></li> <li class="alt"><span>        http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencygroupsizes.aspx  </span></li> <li class="class"><span>.EXAMPLE  </span></li> <li class="alt"><span>    PSH:> .\Show-CurrencyGroupSize.ps1  </span></li> <li class="class"><span>    Default numeric format string <span class="string">"C"</span><span>  </span></span></li> <li class="alt"><span>    <span class="variable">$123</span><span>,456,789,012,345.00  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>    Display with array = 2,3,4  </span></li> <li class="class"><span>    <span class="variable">$12</span><span>,3456,7890,123,45.00  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span>    Display with array = 2,3,0  </span></li> <li class="alt"><span>    <span class="variable">$1234567890</span><span>,123,45.00  </span></span></li> <li class="class"><span><span class="comment">#></span><span>  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment">#     Get a NumberFormatInfo associated with the en-US culture.</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$fi</span><span> = new-object System.Globalization.CultureInfo </span><span class="string">"en-US"</span><span>, false  </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span> = </span><span class="variable">$fi</span><span>.NumberFormat  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="comment">#     Display a value with the default separator (".")</span><span>  </span></span></li> <li class="alt"><span><span class="string">"Default numeric format string `"</span><span>C`</span><span class="string">""</span><span>  </span></span></li> <li class="class"><span>[Int64] <span class="variable">$myInt</span><span> = 123456789012345  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment">#    Display the same value with different groupings.</span><span>  </span></span></li> <li class="class"><span>[int[]] <span class="variable">$mySizes1</span><span> = (2,3,4)  </span></span></li> <li class="alt"><span><span class="variable">$mySizes</span><span> = 2,3,0  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="string">""</span><span>;</span><span class="string">"Display with array = 2,3,4"</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span>.CurrencyGroupSizes = </span><span class="variable">$mySizes1</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="string">""</span><span>;</span><span class="string">"Display with array = 2,3,0"</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span>.CurrencyGroupSizes = </span><span class="variable">$mySizes2</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-23115658711776905642013-05-16T06:02:00.000-07:002013-07-28T06:02:31.557-07:00Show-CurrencyDecimalDigits.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 512px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script demonstrates the use of the CurrencyDecimalDigits  </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script is a re-write of an MSDN sample, using PowerShell  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-CurrencyDecimalDigits.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li class="class"><span>         http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencydecimaldigits%28v=vs.100%29.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    PSH> .\Show-CurrencyDecimalDigits.ps1  </span></li> <li class="alt"><span>    (<span class="variable">$1</span><span>,234.00)  </span></span></li> <li class="class"><span>    (<span class="variable">$1</span><span>,234.0000)  </span></span></li> <li class="alt"><span><span class="comment">#></span><span>  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Get Number Format</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nf</span><span>  = </span><span class="builtin">New-Object</span><span> System.Globalization.CultureInfo  </span><span class="string">"en-US"</span><span>, </span><span class="variable">$False</span><span>   </span></span></li> <li class="alt"><span><span class="variable">$nfi</span><span> = </span><span class="variable">$nf</span><span>.NumberFormat  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Display a negative value with the default number of decimal digits (2).</span><span>  </span></span></li> <li class="class"><span>[Int64] <span class="variable">$myInt</span><span> = -1234  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Displays the same value with four decimal digits.</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span>.CurrencyDecimalDigits = 4  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-64912760417799777642013-04-17T05:50:00.000-07:002013-07-28T05:49:44.477-07:00Show-NumberDecimalSeparator.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 472px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script demonstrates the use of the NumberDecimalSeparator </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script is a re-write of an MSDN sample, using PowerShell  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-NumberDecimaleparatort.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li class="class"><span>         http://msdn.microsoft.com/en-us/library/b74zyt45%28v=vs.100%29.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    PSH> .\Show-NumberDecimalSeparator.ps1  </span></li> <li class="alt"><span>    123,456,789.00  </span></li> <li class="class"><span>    123,456,789 00  </span></li> <li class="alt"><span><span class="comment">#></span><span>  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Get Number Format</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nf</span><span>  = </span><span class="builtin">New-Object</span><span> System.Globalization.CultureInfo  </span><span class="string">"en-US"</span><span>, </span><span class="variable">$False</span><span>   </span></span></li> <li class="alt"><span><span class="variable">$nfi</span><span> = </span><span class="variable">$nf</span><span>.NumberFormat  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span>[Int64] <span class="variable">$myInt</span><span> = 123456789  </span></span></li> <li class="class"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"N"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="alt"><span>  </span></li> <li class="class"><span><span class="variable">$nfi</span><span>.NumberDecimalSeparator = </span><span class="string">" "</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"N"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-62272765802070519932013-03-13T05:47:00.000-07:002013-07-28T05:46:00.788-07:00Show-CurrencyGroupSeparator.ps1<!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /><!-- Code --> <div id="hlDiv" class="dp-highlighter" style="height: 506px; width: 99%"> <div class="bar"></div> <ol class="dp-rb"> <li class="alt"><span><span><</span><span class="comment">#</span><span>  </span></span></li> <li class="class"><span>.SYNOPSIS  </span></li> <li class="alt"><span>    This script demonstrates the use of the CurrencyGroupSeparator  </span></li> <li class="class"><span>.DESCRIPTION  </span></li> <li class="alt"><span>    This script is a re-write of an MSDN sample, using PowerShell  </span></li> <li class="class"><span>.NOTES  </span></li> <li class="alt"><span>    File Name  : Show-CurrencyGroupSeparator.ps1  </span></li> <li class="class"><span>    Author     : Thomas Lee - tfl<span class="variable">@psp</span><span>.co.uk  </span></span></li> <li class="alt"><span>    Requires   : PowerShell Version 3.0  </span></li> <li class="class"><span>.LINK  </span></li> <li class="alt"><span>    This script posted to:  </span></li> <li class="class"><span>        http://www.pshscripts.blogspot.com  </span></li> <li class="alt"><span>    MSDN sample posted to:  </span></li> <li class="class"><span>         http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencygroupseparator%28v=vs.100%29.aspx  </span></li> <li class="alt"><span>.EXAMPLE  </span></li> <li class="class"><span>    PSH> .\Show-NumberGroupSizes.ps1  </span></li> <li class="alt"><span>    <span class="variable">$123</span><span>,456,789,012,345.00  </span></span></li> <li class="class"><span>    <span class="variable">$123</span><span> 456 789 012 345.00  </span></span></li> <li class="alt"><span><span class="comment">#></span><span>  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Get Number Format</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nf</span><span>  = </span><span class="builtin">New-Object</span><span> System.Globalization.CultureInfo  </span><span class="string">"en-US"</span><span>, </span><span class="variable">$False</span><span>   </span></span></li> <li class="alt"><span><span class="variable">$nfi</span><span> = </span><span class="variable">$nf</span><span>.NumberFormat  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Display a value with the default separator (",").</span><span>  </span></span></li> <li class="class"><span>[Int64] <span class="variable">$myInt</span><span> = 123456789012345  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> <li class="class"><span>  </span></li> <li class="alt"><span><span class="comment"># Displays the same value with a blank as the separator.</span><span>  </span></span></li> <li class="class"><span><span class="variable">$nfi</span><span>.CurrencyGroupSeparator = </span><span class="string">" "</span><span>  </span></span></li> <li class="alt"><span><span class="variable">$myInt</span><span>.ToString( </span><span class="string">"C"</span><span>, </span><span class="variable">$nfi</span><span> )  </span></span></li> </ol> </div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-546036873798832453.post-67775133005738172732013-02-24T07:03:00.001-08:002013-02-25T07:29:19.664-08:00New-ZipFromDirectory.ps1<div style="text-align: left" dir="ltr" trbidi="on"><!-- Stylesheet link --><link rel="stylesheet" type="text/css" href="http://www.thecomplex.plus.com/styles/SyntaxHighlighter.css" /></link><!-- Code --> <br /> <div style="width: 99%; height: 837px" id="hlDiv" class="dp-highlighter"> <div class="bar"></div> <ol class="dp-c"> <li class="alt"><#  </li> <li class="class">.SYNOPSIS  </li> <li class="alt">    Creates a <span class="keyword">new</span> zip file from an existing folder  </li> <li class="class">.DESCRIPTION  </li> <li class="alt">    This script uses the .NET 4.5 zipfile <span class="keyword">class</span>   </li> <li class="class">    to create a zip file, getting contents from   </li> <li class="alt">    a folder.  </li> <li class="class">.NOTES  </li> <li class="alt">    File Name  : New-ZipfromDirectory  </li> <li class="class">    Author     : Thomas Lee - tfl@psp.co.uk  </li> <li class="alt">    Requires   : PowerShell Version 3.0 and .NET 4.5  </li> <li class="class">.LINK  </li> <li class="alt">    This script posted to:  </li> <li class="class">        http:<span class="comment">//www.pshscripts.blogspot.com</span>  </li> <li class="alt">.EXAMPLE  </li> <li class="class">    Psh> C:\foo\<span class="keyword">new</span>-zip.ps1  </li> <li class="alt">    Zip file created:  </li> <li class="class">      </li> <li class="alt">    Directory: C:\foo  </li> <li class="class">          </li> <li class="alt">    Mode                LastWriteTime     Length Name  </li> <li class="class">    ----                -------------     ------ ----  </li> <li class="alt">    -a---         2/24/2013   3:00 PM     291182 ScriptLib.ZIP  </li> <li class="class"><span class="preprocessor"></span> </li> <li class="alt"><span class="preprocessor">#></span>  </li> <li class="class"><span class="preprocessor"></span> </li> <li class="alt"><span class="preprocessor"># Load the compression namespace</span>  </li> <li class="class"><span class="preprocessor"># and yes, I know this usage is obsolete - but it works.</span>  </li> <li class="alt"><span class="preprocessor"># Ignore the output</span>  </li> <li class="class">[System.Reflection.Assembly]::LoadWithPartialName(<span class="string">'System.IO.Compression.FileSystem'</span>) | Out-Null   </li> <li class="alt"><span class="preprocessor"></span> </li> <li class="class"><span class="preprocessor"># Create a type accellerator for the zipfile class</span>  </li> <li class="alt">[System.Type] $TypeAcceleratorsType=[System.Management.Automation.PSObject].Assembly.GetType(<span class="string">'System.Management.Automation.TypeAccelerators'</span>,$True,$True)  </li> <li class="class">$TypeAcceleratorsType::Add(<span class="string">'Zipfile'</span>,<span class="string">'System.IO.Compression.Zipfile'</span>)  </li> <li class="alt"><span class="preprocessor"></span> </li> <li class="class"><span class="preprocessor"># Now create a zip file</span>  </li> <li class="alt"><span class="preprocessor"># Set target zip flie and source folder</span>  </li> <li class="class">$Folder  = <span class="string">'E:\PowerShellScriptLib'</span>  </li> <li class="alt">$Zipfile = <span class="string">'C:\foo\ScriptLib.ZIP'</span>  </li> <li class="class"><span class="preprocessor"></span> </li> <li class="alt"><span class="preprocessor"># Ensure file does NOT exist and fodler DOES exist</span>  </li> <li class="class">If (Test-Path $zipfile -EA -0) {  </li> <li class="alt">   Throw <span class="string">"$Zipfile exists - not safe to continue"</span>}  </li> <li class="class">If (!(Test-Path $folder)) {  </li> <li class="alt">   <span class="string">Throw "$Folder does not seem to exist"</span>}  </li> <li class="class"><span class="preprocessor">   </span> </li> <li class="alt"><span class="preprocessor"># Now create the Zip file</span>  </li> <li class="class">Try {  </li> <li class="alt">  [Zipfile]::CreateFromDirectory( $folder, $zipfile)  </li> <li class="class">  <span class="string">"Zip file created:"</span>;ls $zipfile}  </li> <li class="alt">Catch {  </li> <li class="class">  <span class="string">"Zip File NOT created"</span>  </li> <li class="alt">  $Error[0]}  </li> </ol> </div> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f99a9846-6d75-435e-a878-c8746586a5f2" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/Zip+file" rel="tag">Zip file</a>,<a href="http://technorati.com/tags/zip" rel="tag">zip</a>,<a href="http://technorati.com/tags/.net+4.5" rel="tag">.net 4.5</a>,<a href="http://technorati.com/tags/system.io.compression.filesystem" rel="tag">system.io.compression.filesystem</a></div> </div> Unknownnoreply@blogger.com3