<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tag 'scripts'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=app:weblogs&amp;tag=scripts&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tag 'scripts'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Building A Hyper-V Test Lab on Windows 8 – Part 5 Configuring DC1</title><link>http://powershell.com/cs/blogs/under-the-stairs/archive/2013/02/04/building-a-hyper-v-test-lab-on-windows-8-part-5-configuring-dc1.aspx</link><pubDate>Mon, 04 Feb 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:21379</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This the fifth part in a multi-part set of articles on building a test lab with Hyper-V and PowerShell. See the following prior articles in this series.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.tfl09.blogspot.co.uk/2013/01/building-hyper-v-test-lab-on-windows-8.html" target="_blank"&gt;The purpose of these scripts/articles&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.tfl09.blogspot.co.uk/2013/01/building-hyper-v-test-lab-on-windows.html" target="_blank"&gt;Creating a reference VHDX&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.tfl09.blogspot.co.uk/2013/01/building-hyper-v-test-lab-on-windows-8_16.html" target="_blank"&gt;Creating Virtual Machines and the related differencing VHDXs&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://tfl09.blogspot.co.uk/2013/01/building-hyper-v-test-lab-on-windows-8_23.html" target="_blank"&gt;Creating a new forest and new domain controller&lt;/a&gt; .&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Configuring the First DC&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the last article, I showed you how to create a domain controller in a new forest. The DC provides the AD environment for the rest of the VMs in my test lab so has to become the DC before any other VMs are created. In this article I present a second configuration script for the domain controller, snappily named Configure-DC1-2.ps1. This second script just finishes off the configuration and setup of the DC, after it&amp;#39; was promoted to being a DC.&lt;/p&gt;  &lt;p&gt;Once the DC1 has been created and promoted to being a domain controller, you configure it to add the features and configuration I need in labs and for writing projects.&lt;/p&gt;  &lt;p&gt;From a work flow perspective, once the DC has been created, creating and configuring other new VMs can be done in parallel with configuring DC1. If you are creating VMs that rely on DHCP, you would need to complete the configuration before those VMs are created. And, of course any new VMs created are domain joined use a different Unattend.XML file in the creation of the VM.&lt;/p&gt;  &lt;p&gt;In my lab’s case, configuration the first domain controller, DC1, is pretty simple:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Set the VM to automatically logon as the domain admin&lt;/strong&gt; – in lab environments, life really is too short to have to type credentials any more than is absolutely needed. So I set the registry settings to enable auto admin logon&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Install Key Windows features &lt;/strong&gt;- I include some simple features, including IIS (which is needed to enable the DC to be a CA).&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Install and configure basic DHCP &lt;/strong&gt;-&lt;strong&gt;&amp;#160;&lt;/strong&gt;Most of my lab machines have fixed IP addresses, but having a small DHCP block seems a good thing! I configure this with some basic options.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create some basic users/groups/OUs in the AD&lt;/strong&gt; – I just create a couple of demo users, a couple of AD OUs and add the new accounts to some groups. I have a further script Configure-ReskitAD.ps1, as part of this series, that adds a richer AD environment. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Once that has been done, I do two more things in the script:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Force a reboot of the VM&lt;/li&gt;    &lt;li&gt;Take a snapshot of the DC. This is useful if I want to do some AD configuration but then back out of that.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Using Remoting to Configure DC1 &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the first two scripts that create and start up the VM, the scripts contain a function definition that is then run against the local system, i.e. the host you are using to run Hyper-V. In my case, this was done on Windows 8 on my laptop and one of my Server 2012 boxes. They both run Hyper-V well so testing is easy both at home and on the road. As I noted previously, the remainder of the scripts I use that to setup and configure the domain and servers use remoting. The following pattern if these scripts is as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a script block, $CONF or similar, containing PowerShell code to perform some configuration on a server. The PowerShell code is intended to run in the target VM.&lt;/li&gt;    &lt;li&gt;Use Invoke-Command, and the appropriate credentials, to run that script block on a remote server (i.e. one of the Hyper-V VMs you are building/configuring.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This process is flexible and allows me to do things before invoking the script block. For example, to install SQL, Exchange or Lync, I need to have the product CD inserted in the D: drive. For Exchange, I have to load some pre-requisites onto the server, for example bits of IIS, etc. that are not needed for other labs. SO in that case, the configuration script file can create a couple of script blocks to divide up the work. In the longer term I consolidate the multiple script blocks, but that’s work to be done! &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Snapshotting VMs&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;These scripts were designed to support me in writing and developing courseware. Since the development work can be error-prone plus with a need to test, test, and re-test lab instructions, I need to take snapshots before and after key configuration events. So what this script does, at the very end, is to take a VM snapshot and label it as being created by this script. You can, of course, comment out this if you don’t need to have a snapshot!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Using the Scripts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When I am building out a new set of VMs, I open ALL these scripts in the ISE on the Hyper-V host. Whilst I am at home, that means running these via a terminal services window against one of my Hyper-V servers or my laptop. Once I have all the scripts open, I just work through them, tweaking the unattend.xml, building the base disk, building then promoting DC1, finishing off DC1 configuration, configuring a CA, configuring the IIS servers, etc. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Getting the Scripts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I have published the full set of deployment scripts to my web site, at &lt;a href="http://www.reskit.net/powershell/vmbuild.zip"&gt;http://www.reskit.net/powershell/vmbuild.zip&lt;/a&gt;. Note that some of the scripts in this zip file are very much works in progress that are changing, and hopefully improving, as I publish these articles. I reserve the right to change any of all of them from time to time. I will try to blog any important changes. &lt;/p&gt;  &lt;p&gt;I am also publishing the individual scripts over on my &lt;a href="http://pshscripts.blogspot.co.uk/" target="_blank"&gt;PowerShell Scripts Blog&lt;/a&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://pshscripts.blogspot.co.uk/2013/01/create-referencevhdxps1.html" target="_blank"&gt;Create-ReferenceVHDX.ps1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.co.uk/2013/01/create-vmps1.html" target="_blank"&gt;Create-VM.ps1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.co.uk/2013/01/configure-dc1-1ps1.html" target="_blank"&gt;Configure-DC1-1.ps1&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.co.uk/2013/02/configure-dc1-2ps1.html" target="_blank"&gt;Configure-DC2-1.ps1&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Recent Script Changes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Since starting this series, I’ve been tidying up the scripts. In some cases, I’ve moved parameters into hash tables to increase readability. The changes to the scripts are now added to the script itself. One key change is that I set Auto-Admin logon for all servers, and force a reboot of the server after configuring it. I’ve also added some judicious Hyper-V check pointing into some of the scripts to simplify both further testing and to suit my courses.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Future Scripts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The next couple of scripts, which I hope to get documented this week, including building and configuring general purpose servers and creating a Certificate Authority. I also have some utility scripts that I have added and will also be documenting. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Comments&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Any comments? I’d love to hear from you – either as comments to this blog post, or via email.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;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:31c4c93c-d232-410c-9831-575ffe687d7b" class="class"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Deployment+scripts" rel="tag"&gt;Deployment scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/powershell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hyper-V" rel="tag"&gt;Hyper-V&lt;/a&gt;&lt;/div&gt;  </description></item><item><title>Configure-DC1-2.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2013/02/04/configure-dc1-2-ps1.aspx</link><pubDate>Mon, 04 Feb 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:21378</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:1609px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Configure-DC1-2&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Configures DC1 after dcpromo is completed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Version 1.0.0 - 14 Jan 2013&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Version 1.1.0 - 24 Jan 2013&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Added code to count how long it all took.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Added a checkpoint at the end of DC1 configuration&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Version 1.1.1 - 25 Jan 2013&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Added auto admin logon - need to reboot VM for it to work.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Configuration block&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$conf&lt;/span&gt;&lt;span&gt; = { &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$StartTime&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;Get-Date&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Starting at: $StartTime&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Set Credentials&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$Username&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Reskit\Administrator&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$PasswordSS&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;ConvertTo-SecureString&lt;/span&gt;&lt;span&gt; -string &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Pa$$w0rd&amp;#39;&lt;/span&gt;&lt;span&gt; -AsPlainText -Force &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$Credrk&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;New-Object&lt;/span&gt;&lt;span&gt; -Typename System.Management.Automation.PSCredential -Argumentlist &lt;/span&gt;&lt;span class="variable"&gt;$Username&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class="variable"&gt;$PasswordSS&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Define registry path for autologon, then set admin logon&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$RegPath&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$User&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Administrator&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$Password&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Pa$$w0rd&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$Dom&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Reskit&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="builtin"&gt;Set-ItemProperty&lt;/span&gt;&lt;span&gt; -Path &lt;/span&gt;&lt;span class="variable"&gt;$RegPath&lt;/span&gt;&lt;span&gt; -Name AutoAdminLogon -Value 1 -EA 0 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="builtin"&gt;Set-ItemProperty&lt;/span&gt;&lt;span&gt; -Path &lt;/span&gt;&lt;span class="variable"&gt;$RegPath&lt;/span&gt;&lt;span&gt; -Name DefaultUserName -Value &lt;/span&gt;&lt;span class="variable"&gt;$User&lt;/span&gt;&lt;span&gt; -EA 0 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="builtin"&gt;Set-ItemProperty&lt;/span&gt;&lt;span&gt; -Path &lt;/span&gt;&lt;span class="variable"&gt;$RegPath&lt;/span&gt;&lt;span&gt; -Name DefaultPassword -Value &lt;/span&gt;&lt;span class="variable"&gt;$Password&lt;/span&gt;&lt;span&gt; -EA 0 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="builtin"&gt;Set-ItemProperty&lt;/span&gt;&lt;span&gt; -Path &lt;/span&gt;&lt;span class="variable"&gt;$RegPath&lt;/span&gt;&lt;span&gt; -Name DefaultDomainName -Value &lt;/span&gt;&lt;span class="variable"&gt;$Dom&lt;/span&gt;&lt;span&gt; -EA 0 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Install key Windows features for labs&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Install-WindowsFeature PowerShell-ISE, Rsat-AD-PowerShell, Hyper-V-PowerShell, AD-Domain-Services, Web-Server -IncludeManagementTools &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Install and configure DHCP&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Install-WindowsFeature DHCP -IncludeManagementTools &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Add-DhcpServerV4Scope -Name &lt;span class="string"&gt;&amp;quot;ReskitNet0&amp;quot;&lt;/span&gt;&lt;span&gt; -StartRange 10.0.0.100 -EndRange 10.0.0.119 -SubnetMask 255.255.255.0 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Set-DhcpServerV4OptionValue -DnsDomain Reskit.Org -DnsServer 10.0.0.10 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Add-DhcpServerInDC -DnsName Dc1.reskit.org &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Add users to the AD and then add them to some groups&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$pw&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Pa$$w0rd&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$psss&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;ConvertTo-SecureString&lt;/span&gt;&lt;span&gt; -String &lt;/span&gt;&lt;span class="variable"&gt;$pw&lt;/span&gt;&lt;span&gt; -AsPlainText -Force &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Hash table for common new user paraemters&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$NewUserHT&lt;/span&gt;&lt;span&gt; = @{AccountPassword = &lt;/span&gt;&lt;span class="variable"&gt;$PasswordSS&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Enabled = &lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;PasswordNeverExpires = &lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;ChangePasswordAtLogon = &lt;span class="variable"&gt;$false&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;} &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;New-ADUser &lt;span class="variable"&gt;@NewUserHT&lt;/span&gt;&lt;span&gt; -SamAccountName tfl -UserPrincipalName &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;tfl@reskit.org&amp;#39;&lt;/span&gt;&lt;span&gt; -name &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Thomas Lee&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;New-ADUser &lt;span class="variable"&gt;@NewUserHT&lt;/span&gt;&lt;span&gt; -SamAccountName bb -UserPrincipalName &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;bb@reskit.org&amp;#39;&lt;/span&gt;&lt;span&gt; -name &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Billy Bob Joe Bob&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;New-ADUser &lt;span class="variable"&gt;@NewUserHT&lt;/span&gt;&lt;span&gt; -SamAccountName sb -UserPrincipalName &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;sb@reskit.org&amp;#39;&lt;/span&gt;&lt;span&gt; -name &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Sue Bob Joe Bob&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;New-ADOrganizationalUnit -Name &lt;span class="string"&gt;&amp;#39;IT Department&amp;#39;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Move-ADUser &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Add-ADPrincipalGroupMembership -Identity &lt;span class="string"&gt;&amp;quot;CN=User1,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; -MemberOf &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Enterprise Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; ,&lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Domain Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Add-ADPrincipalGroupMembership -Identity &lt;span class="string"&gt;&amp;quot;CN=User2,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; -MemberOf &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Enterprise Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; ,&lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Domain Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Add-ADPrincipalGroupMembership -Identity &lt;span class="string"&gt;&amp;quot;CN=User3,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; -MemberOf &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Enterprise Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; ,&lt;/span&gt;&lt;span class="string"&gt;&amp;quot;CN=Domain Admins,CN=Users,DC=reskit,DC=org&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Say nice things and finish&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$FinishTime&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;Get-Date&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Finished at: $finishtime&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;DC1 Configuration took $(($FinishTime - $StartTime).TotalSeconds.ToString(&amp;#39;n2&amp;#39;)) seconds&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Reboot &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;Restart-Computer -ComputerName DC1 -Force&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;} &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Start of script proper&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Set Credentials&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$Username&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;Reskit\administrator&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="variable"&gt;$PasswordSS&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;ConvertTo-SecureString&lt;/span&gt;&lt;span&gt; -string &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;Pa$$w0rd&amp;#39;&lt;/span&gt;&lt;span&gt; -AsPlainText -Force &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$Credrk&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;New-Object&lt;/span&gt;&lt;span&gt; -Typename System.Management.Automation.PSCredential -Argumentlist &lt;/span&gt;&lt;span class="variable"&gt;$Username&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class="variable"&gt;$PasswordSS&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Following code used to test the credentials. Remove the comments on next two lines the first time you &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# run this script&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Invoke-Command -ComputerName DC1 -ScriptBlock {hostname} -Credential &lt;span class="variable"&gt;$Credrk&lt;/span&gt;&lt;span&gt; -verbose &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Pause &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Invoke-Command -ComputerName DC1 -Scriptblock &lt;span class="variable"&gt;$conf&lt;/span&gt;&lt;span&gt; -Credential &lt;/span&gt;&lt;span class="variable"&gt;$Credrk&lt;/span&gt;&lt;span&gt; -verbose &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="comment"&gt;# Finally, run a post-DCPromo snapshot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Checkpoint-VM -VM $(Get-VM DC1) -SnapshotName &lt;span class="string"&gt;&amp;quot;DC1 - post configuration by ConfigureDC1-2.ps1&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:18887392-b1bb-4311-a6cd-4e62ee6ad4e4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/V3" rel="tag"&gt;V3&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VM" rel="tag"&gt;VM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;&lt;/div&gt;  </description></item><item><title>Building a Hyper-V Test Lab on Windows 8 – Part 1</title><link>http://powershell.com/cs/blogs/under-the-stairs/archive/2013/01/13/building-a-hyper-v-test-lab-on-windows-8-part-1.aspx</link><pubDate>Sun, 13 Jan 2013 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:20996</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;This is the first part of a multi-part blog article on a set of scripts to create VMs using Microsoft’s Hyper-V on both Windows 8 and Server 2012.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For many years, I’ve used virtual machines heavily. The articles, courses and books I write rely on VMs for their content. I’ve lost count of the number of domains I’ve built, re-built, broken, fixed over the years.&amp;#160; &lt;/p&gt;  &lt;p&gt;The only downside is that I was regularly building and re-building the systems by doing creating a new VM and installing the OS from scratch. This was slow and tedious as well as somewhat error prone. &lt;/p&gt;  &lt;p&gt;What I needed was a good, reliable system of creating sets of VMs and configuring them. The base set of services I want to be able to install and use was not that long: the OS (with AD, ADCS, DHCP, DNS, File Services), SQL, and Exchange. &lt;/p&gt;  &lt;p&gt;Now that I have these scripts working, or nearly so, I am amazed at how much easier it is to create a set of VMs for particular purpose (e.g. write an article, create a class, build a demo for a talk). I am also finding others that have similar needs. I hope others find these scripts useful!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Building VMs Using Scripts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the autumn of 2012, I, along with super-star MVP colleague &lt;a href="http://se.linkedin.com/in/niklasgoude"&gt;Niklas Goude&lt;/a&gt;, started running PowerShell Geek Weeks in Stockholm. A lot of fun – 5 days of going as deep as we can with PowerShell. A key part of the Geek Week adventure is for the delegates to build their own environment AND to be able to take away the tools to re-create this environment at home. &lt;/p&gt;  &lt;p&gt;I spent quite some time building some basic scripts – and encountered a lot of dead ends along the way. The first time out was a limited success – limited in that some pieces did not fit together well but a success in that it taught a lot of cool PowerShell features and showed us where we needed to do more. It also helped me to refine the real objectives the tools had to meet. Thanks goes to &lt;a href="https://www.facebook.com/justanothermike"&gt;Mikael Nystrom&lt;/a&gt; for helping me with a good starting Unattend.XML!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Objectives of the VM Build module&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;My main objectives of these build tools were:&lt;/p&gt;  &lt;p&gt;1. To enable someone with fairly limited PowerShell skills (or greater!) to use the the scripts simply and flexibly in the classroom and later.&lt;/p&gt;  &lt;p&gt;2. To enable building out of a small farm of up to say half a dozen servers with minimal effort. &lt;/p&gt;  &lt;p&gt;3. To enable extensibility, in that one could add more scripts to refine the configuration (e.g. adding a script to implement a failover DHCP).&lt;/p&gt;  &lt;p&gt;4. To encode things like domain/forest names, user ids, passwords and IP address information to a given standard but make it not too difficult to change that.&lt;/p&gt;  &lt;p&gt;5. To avoid the user having to use too much of the new automated setup approach.&lt;/p&gt;  &lt;p&gt;6. To keep the use of disk space to a minimum.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Architecture&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The basic architecture of what I am trying to build is shown here:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-682W4hpHuIs/UPLNDvk319I/AAAAAAAAAeU/rd-P6urFu_Q/s1600-h/image%25255B7%25255D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-ArazfXRYsXQ/UPLNEeyGmPI/AAAAAAAAAec/DQaSKG22M4Y/image_thumb%25255B3%25255D.png?imgmax=800" width="247" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The idea is simple – a single reference, parent, disk with a number of separate VMs based on differencing disks. This approach hits objective 6, and enables a simple solution to objective 4.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Scripts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The key scripts here are as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Create-ReferenceVHDX&lt;/strong&gt; – this script creates a parent VHDX based on an image from the Install.WIM from a Server (or client) installation DVD. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Create-VM&lt;/strong&gt; – this script creates a differencing VHDX, based on the reference VHDX, and creates an updated Unattend.xml file, stores this on the differencing drive. The script then starts the VM which then installs Windows onto the differencing disk. You run this script to create the VMs and VHDXs for DC1, Exch1, SQL1, SRV1, SRV2. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure-DC1-1&lt;/strong&gt; – this script turns the first VM, DC1, into a domain controller in a new forest. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure-DC1-2&lt;/strong&gt; – this script configures DC1, post installation as a DC. This includes adding and configuring DHCP and creating some users in AD. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure –DC1-CA – &lt;/strong&gt;this script convers DC1 into an Enterprise Root CA, and creates a web responder, complete with SSL support for the /Certsrv application. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure-Exch1&lt;/strong&gt; – this script configures the Exch1 VM, including installing Exchange 2008 on the Exch1 VM. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure SQL1-1&lt;/strong&gt; – this script configures the SQL server VM, including installing SQL server itself. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Configure-SRV1-1 &lt;/strong&gt;-&lt;strong&gt;&amp;#160;&lt;/strong&gt;Configure-SRV2-1, these scripts create a pair of application servers, including adding all of the RSAT tools and IIS. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Utility Scripts&lt;/strong&gt; – these include &lt;strong&gt;Set-DVDDriveOnAll&lt;/strong&gt; (sets a particular DVD/ISO to be in the DVD drive of all VMs), &lt;strong&gt;Set-LanguageOnAll&lt;/strong&gt; – sets the administrator logon have a particular kb layout for all vms, &lt;strong&gt;Set-NetFrameworkCoreOnAll&lt;/strong&gt; (adds the base .NET onto all systems – which is needed for PowerShell V2). &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There are several next steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Get all these scripts uploaded to my DropBox – I need to do a bit more tidying up then these will be ready for viewing. &lt;/li&gt;    &lt;li&gt;I’ll publish each script both to the PowerShell scripts blog (&lt;a href="http://pshscripts.blogspot.co.uk"&gt;http://pshscripts.blogspot.co.uk&lt;/a&gt;) as well as publishing details of each scripts here. IN publishing the details here, I’ll explain what each script is doing and why I did it that way. As ever, comments are welcome – and may cause further updates to the script set! &lt;/li&gt;    &lt;li&gt;I’ll update this page with pointers and anything updated as I complete this set of posts. &lt;/li&gt;    &lt;li&gt;Package these scripts up as a downloadable module. Right now, these are just a bunch of scripts and some XML – making a proper module out of it is high on my agenda. &lt;/li&gt;    &lt;li&gt;Do a better job of centralising the variables across the scripts – things like user name, password, domain name, etc. I had in mind an XML file with all the key stuff in just one place! &lt;/li&gt;    &lt;li&gt;Take feedback and refine. Comments on these scripts are most welcome. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With the release of Server 2012 and Windows 8, building a set of Hyper-V VMs is now easier than ever – and these VMs can easily be moved from server to client and back as needs dictate. The set of scripts I’ve created have helped me create lab environments quickly and easily and may help you too.&lt;/p&gt;  &lt;p&gt;Comments most welcome!&lt;/p&gt;  &lt;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:5e5ec5f8-b19d-481e-8b10-88d19df128b3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Implementation" rel="tag"&gt;Implementation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Deployment" rel="tag"&gt;Deployment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;&lt;/div&gt;  </description></item><item><title>Show-Formatting1.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2012/08/07/show-formatting1-ps1.aspx</link><pubDate>Tue, 07 Aug 2012 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:18160</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:1019px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-c"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;# &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;.SYNOPSIS &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;MSDN Sample Recoded &lt;span class="keyword"&gt;in&lt;/span&gt;&lt;span&gt; PowerShell demonstrating formatting &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;.DESCRIPTION &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;This sample recodes an MSDN Sample into PowerShell that &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;shows some of the options of formatting using ToString() and &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;various .NET formatting strings &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;.NOTES &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;File Name : Show-Formatting1.ps1 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Author : Thomas Lee - tfl@psp.co.uk &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Requires : PowerShell Version 2.0 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;.LINK &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;This script posted to: &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;http:&lt;span class="comment"&gt;//www.pshscripts.blogspot.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;MSDN sample posted to: &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;http:&lt;span class="comment"&gt;//msdn.microsoft.com/en-us/library/0c899ak8.aspx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.EXAMPLE &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;Psh&amp;gt; .\Show-Formatting1.ps1\ &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;00123 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;1.20 &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;01.20 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;01,20 &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;0.6 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;1,234,567,890 &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;1.234.567.890 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;1,234,567,890.1 &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;1,234.57 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;## Start script&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;[&lt;span class="keyword"&gt;double&lt;/span&gt;&lt;span&gt;] $value = 123; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;00000&amp;quot;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 00123&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value = 1.2; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0.00&amp;quot;&lt;/span&gt;&lt;span&gt;, [System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 1.20&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;00.00&amp;quot;&lt;/span&gt;&lt;span&gt;,[System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 01.20&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;00.00&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;[System.Globalization.CultureInfo]::CreateSpecificCulture(&lt;span class="string"&gt;&amp;quot;da-DK&amp;quot;&lt;/span&gt;&lt;span&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 01,20&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value = .56 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0.0&amp;quot;&lt;/span&gt;&lt;span&gt;, [System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 0.6&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value = 1234567890 &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0,0&amp;quot;&lt;/span&gt;&lt;span&gt;, [System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 1,234,567,890 &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0,0&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;[System.Globalization.CultureInfo]::CreateSpecificCulture(&lt;span class="string"&gt;&amp;quot;el-GR&amp;quot;&lt;/span&gt;&lt;span&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 1.234.567.890&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value = 1234567890.123456; &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0,0.0&amp;quot;&lt;/span&gt;&lt;span&gt;, [System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 1,234,567,890.1 &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;$value = 1234.567890; &lt;/span&gt;&lt;/li&gt;      &lt;li&gt;&lt;span&gt;$value.ToString(&lt;span class="string"&gt;&amp;quot;0,0.00&amp;quot;&lt;/span&gt;&lt;span&gt;, [System.Globalization.CultureInfo]::InvariantCulture) &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Displays 1,234.57 &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:9f521068-bdf9-44f2-bc9c-fa0a44010982" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System.Globalization" rel="tag"&gt;System.Globalization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/formatting+with+PowerShell" rel="tag"&gt;formatting with PowerShell&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-4073192922536064243?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Show-FileInformation.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/11/20/show-fileinformation-ps1.aspx</link><pubDate>Sun, 20 Nov 2011 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13326</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:962px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script displays information returned from the&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; file version object.&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script gets, then displays, all the information returned&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; from the System.Diagnostics.Fileinfo of Notepad.exe&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Show-FileInformation.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://http://pshscripts.blogspot.com&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo_properties.aspx&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Psh&amp;gt; .\Show-FileInformation.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Major Part &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span&gt; C:\Windows\system32\Notepad.exe is: 6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Set filename&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt; = [System.Environment]::SystemDirectory + &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;\Notepad.exe&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#Get Version information for this file&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt; = [System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Display all the file information:&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileInfo information for {0}&amp;quot;&lt;/span&gt;&lt;span&gt; -f &lt;/span&gt;&lt;span class="variable"&gt;$file&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;Comments&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.Comments&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;Company Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.CompanyName&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileBuldPart&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileBuildPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileDescription&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileDescription&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileMajorPart&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileMajorPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileMinorPart&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileMinorPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FilePrivatePart&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FilePrivatePart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileName&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;FileVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.FileVersion&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;InternalName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.InternalName&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;IsDebug&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.IsDebug&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;IsPatched&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.IsPatched&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;IsPreRelease&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.IsPreRelease&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;IsPrivateBuild&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.IsPrivateBuild&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;IsSpecialBuild&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.IsSpecialBuild&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;Language&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.Language&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;LegalCopyright&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.LegalCopyright&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;LegalTrademarks&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.LegalTrademarks&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;OriginalFilename&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.OriginalFilename&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;PrivateBuild&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.PrivateBuild&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductBuildPart&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductBuildPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductMajordPart&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductMajorPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductMinorPart&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductMinorPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductName&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductPrivatePart : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductMinorPart&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;ProductVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.ProductVersion&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;SpecialBuild&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {0}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; -f &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.SpecialBuild&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:05768151-bb47-441d-9a70-bb80717a99bf" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scripts" rel="tag"&gt;scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System.Diagnostics" rel="tag"&gt;System.Diagnostics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FileInfo" rel="tag"&gt;FileInfo&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-342742388390819252?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Show-FileVersionComments.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/11/10/show-fileversioncomments-ps1.aspx</link><pubDate>Thu, 10 Nov 2011 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13178</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:460px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script shows the company name of a file version object&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script is a re-implementation of an MSDN Sample script&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; that uses System.Diagnostics.FileVersionInfo to get&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; the company name (&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; it exists).&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Show-FileVersionComments.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://www.pshscripts.blogspot.com&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.comments.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Psh&amp;gt; .\Show-FileVersionComments.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Company name: Microsoft Corporation&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Set filename&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt; = [System.Environment]::SystemDirectory + &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;\Notepad.exe&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#Get Version information for this file&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt; = [System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Print the Comments field&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;Commments : &amp;quot;&lt;/span&gt;&lt;span&gt; + &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.CompanyName&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:9e1576af-dfa5-49de-ab67-50d36c597991" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+script" rel="tag"&gt;PowerShell script&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System.Diagnostics.FileVersionInfo" rel="tag"&gt;System.Diagnostics.FileVersionInfo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GetVersionInfo" rel="tag"&gt;GetVersionInfo&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-2998538778131857754?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Show-FileVersionCompanyName</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/11/10/show-fileversioncompanyname.aspx</link><pubDate>Thu, 10 Nov 2011 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13181</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:462px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script shows the company name of a file version object&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script is a re-implementation of an MSDN Sample script&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; that uses System.Diagnostics.FileVersionInfo to get&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; the company name (&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; it exists).&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Show-FileVersionCompanyName.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://www.pshscripts.blogspot.com&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.companyname.aspx&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Psh&amp;gt; .\Show-FileVersionCompanyName.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Company name: Microsoft Corporation&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Set filename&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt; = [System.Environment]::SystemDirectory + &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;\Notepad.exe&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#Get Version information for this file&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt; = [System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/span&gt;&lt;span class="variable"&gt;$File&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Print the Company name&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;Company name: &amp;quot;&lt;/span&gt;&lt;span&gt; + &lt;/span&gt;&lt;span class="variable"&gt;$myFileVersionInfo&lt;/span&gt;&lt;span&gt;.CompanyName&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:25319dc9-b833-4549-b2f6-7bc52a5463b1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System.Diagnostics.FileVersionInfo" rel="tag"&gt;System.Diagnostics.FileVersionInfo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GetVersionInfo" rel="tag"&gt;GetVersionInfo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scripts" rel="tag"&gt;scripts&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-7823715532422642254?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Open-WordDocument.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/11/09/open-worddocument-ps1.aspx</link><pubDate>Wed, 09 Nov 2011 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13157</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:511px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script opens a word document using PowerShell&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script re-implments a simple MSDN script to open&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; a word document using VBA. IT Pros using PowerShell&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; might also make use of to create rich documents as&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; output from a script.&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Open-WordDocument.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://www.pshscripts.blogspot.com&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://msdn.microsoft.com/en-us/library/bb148369%28office.12%29.aspx&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Running this sample opens the file c:\foo\doc1.docx &lt;span class="keyword"&gt;in&lt;/span&gt;&lt;span&gt; Word. The&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; COM object referring to the document is returned &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span&gt; later use.&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Create Word Object&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$wrd&lt;/span&gt;&lt;span&gt; = new-object -com word.application&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Make Word Visible&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$wrd&lt;/span&gt;&lt;span&gt;.visible = &lt;/span&gt;&lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Open a document &lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$doc&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="variable"&gt;$wrd&lt;/span&gt;&lt;span&gt;.documents.open(&lt;/span&gt;&lt;span class="string"&gt;&amp;quot;C:\foo\doc1.docx&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:80d9fc31-4cb8-4a84-8445-423d73bfd2e3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scripts" rel="tag"&gt;scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/word.application" rel="tag"&gt;word.application&lt;/a&gt;,&lt;a href="http://technorati.com/tags/word" rel="tag"&gt;word&lt;/a&gt;,&lt;a href="http://technorati.com/tags/winword" rel="tag"&gt;winword&lt;/a&gt;,&lt;a href="http://technorati.com/tags/script" rel="tag"&gt;script&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+script" rel="tag"&gt;PowerShell script&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-6230234127998795819?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Show-UnicodeCharacters.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/11/08/show-unicodecharacters-ps1.aspx</link><pubDate>Tue, 08 Nov 2011 06:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:13119</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div style="width:99%;height:1094px;" id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script, a re-implementation of an MSDN sample, shows the&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Unicode details of a unicode character, using PowerShell.&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script re-implements a simple MSDN script that takes a Unicode Character&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; and uses CharUnicodeInfo class to get details of that character, which are then&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; displayed.&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Show-UnicodeCharacters.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a title="http://pshscripts.blogspot.com/2011/11/show-unicodecharactersps1.html" href="http://pshscripts.blogspot.com/2011/11/show-unicodecharactersps1.html"&gt;http://pshscripts.blogspot.com/2011/11/show-unicodecharactersps1.html&lt;/a&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.charunicodeinfo.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.globalization.charunicodeinfo.aspx&lt;/a&gt; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Psh &amp;gt; .\show-unicodecharacters.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c&amp;#160;&amp;#160;&amp;#160; Num&amp;#160;&amp;#160;&amp;#160; Dig&amp;#160;&amp;#160; Dec&amp;#160;&amp;#160;&amp;#160; UnicodeCategory&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0061 LATIN SMALL LETTER A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; LowercaseLetter&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0393 GREEK CAPITAL LETTER GAMMA&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Γ&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; UppercaseLetter&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0039 DIGIT NINE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160; DecimalDigitNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+00B2 SUPERSCRIPT TWO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ²&amp;#160;&amp;#160;&amp;#160; 2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2&amp;#160;&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; OtherNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+00BC VULGAR FRACTION ONE QUARTER&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ¼&amp;#160;&amp;#160;&amp;#160; 0.25&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; OtherNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0BEF TAMIL DIGIT NINE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ௯&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160; DecimalDigitNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0BF0 TAMIL NUMBER TEN&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ௰&amp;#160;&amp;#160;&amp;#160; 10&amp;#160;&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160;&amp;#160; OtherNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+0F33 TIBETAN DIGIT HALF ZERO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ༳&amp;#160;&amp;#160;&amp;#160; -0.5&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160;&amp;#160; OtherNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; U+2788 CIRCLED SANS-SERIF DIGIT NINE&amp;#160;&amp;#160;&amp;#160; ➈&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&amp;#160;&amp;#160;&amp;#160; -1&amp;#160;&amp;#160;&amp;#160;&amp;#160; OtherNumber&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Helper Function&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Function PrintProperties {&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;span class="keyword"&gt;param&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$fmtstring&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;&amp;quot; {0,-5}&amp;#160; {1,-8}&amp;#160; {2,-9}&amp;#160; {3,-9}&amp;#160; {4,-9}&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$a&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$b&lt;/span&gt;&lt;span&gt; = [System.Globalization.CharUnicodeInfo]::GetNumericValue( &lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt; )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt; = [System.Globalization.CharUnicodeInfo]::GetDigitValue( &lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt; )&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$d&lt;/span&gt;&lt;span&gt; = [System.Globalization.CharUnicodeInfo]::GetDecimalDigitValue( &lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt; )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$e&lt;/span&gt;&lt;span&gt; = [System.Globalization.CharUnicodeInfo]::GetUnicodeCategory( &lt;/span&gt;&lt;span class="variable"&gt;$char&lt;/span&gt;&lt;span&gt; )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;span class="variable"&gt;$fmtstring&lt;/span&gt;&lt;span&gt; -f &lt;/span&gt;&lt;span class="variable"&gt;$a&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class="variable"&gt;$b&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class="variable"&gt;$d&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class="variable"&gt;$e&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;}&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Num&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Dig&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Dec&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; UnicodeCategory&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0061 LATIN SMALL LETTER A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0393 GREEK CAPITAL LETTER GAMMA&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; ([Char] 0x0393) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0039 DIGIT NINE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; &lt;/span&gt;&lt;span class="string"&gt;&amp;quot;9&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+00B2 SUPERSCRIPT TWO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x00B2) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+00BC VULGAR FRACTION ONE QUARTER&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x00BC) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0BEF TAMIL DIGIT NINE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x0BEF) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0BF0 TAMIL NUMBER TEN&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x0BF0) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+0F33 TIBETAN DIGIT HALF ZERO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x0F33) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;U+2788 CIRCLED SANS-SERIF DIGIT NINE&amp;#160;&amp;#160; &amp;quot;&lt;/span&gt;&lt;span&gt;&amp;#160; + (PrintProperties&amp;#160; $([Char] 0x2788) )&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;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:87ad31b8-f91b-414f-ab2b-79dd2e8c4f36" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scripts" rel="tag"&gt;scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+scripts" rel="tag"&gt;PowerShell scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/System.Globalization.CharUnicodeInfo" rel="tag"&gt;System.Globalization.CharUnicodeInfo&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-3857682505166185667?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item><item><title>Show-CalendarAlgorithm.ps1</title><link>http://powershell.com/cs/blogs/powershell-scripts/archive/2011/10/31/show-calendaralgorithm-ps1.aspx</link><pubDate>Mon, 31 Oct 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:12991</guid><dc:creator>Anonymous</dc:creator><description>  &lt;div id="hlDiv" class="dp-highlighter"&gt;   &lt;div class="bar"&gt;&lt;/div&gt;    &lt;ol class="dp-rb"&gt;     &lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.SYNOPSIS&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script re-implements an MSDN Sample showing the&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; CalendarAlgorithmType enumeration.&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.DESCRIPTION&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script creates there calendars and displays&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; algorithm type,&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.NOTES&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; File Name&amp;#160; : Show-CalendarAlgorithm.ps1&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Author&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Thomas Lee - tfl&lt;span class="variable"&gt;@psp&lt;/span&gt;&lt;span&gt;.co.uk&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; Requires&amp;#160;&amp;#160; : PowerShell Version 2.0&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;.LINK&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; This script posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://www.pshscripts.blogspot.com&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160; MSDN sample posted to:&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; http://msdn.microsoft.com/en-us/library/system.globalization.calendaralgorithmtype.aspx&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;.EXAMPLE&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Helper function&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;Function Display{&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Param ([System.Globalization.Calendar] &lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$name&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt;.ToString().PadRight(50, &lt;/span&gt;&lt;span class="string"&gt;&amp;#39;.&amp;#39;&lt;/span&gt;&lt;span&gt;)&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="string"&gt;&amp;quot;{0} {1}&amp;quot;&lt;/span&gt;&lt;span&gt; -f &lt;/span&gt;&lt;span class="variable"&gt;$name&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt;.AlgorithmType&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;}&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;## Start of script&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Create three new calendars&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$grCal&lt;/span&gt;&lt;span&gt; = new-object System.Globalization.GregorianCalendar&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&lt;span class="variable"&gt;$hiCal&lt;/span&gt;&lt;span&gt; = new-object System.Globalization.HijriCalendar&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$jaCal&lt;/span&gt;&lt;span&gt; = new-object System.Globalization.JapaneseLunisolarCalendar&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Display them&lt;/span&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;Display(&lt;span class="variable"&gt;$grCal&lt;/span&gt;&lt;span&gt;);&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;Display(&lt;span class="variable"&gt;$hiCal&lt;/span&gt;&lt;span&gt;);&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;Display(&lt;span class="variable"&gt;$jaCal&lt;/span&gt;&lt;span&gt;);&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;      &lt;li class="alt"&gt;&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/li&gt;      &lt;li class="class"&gt;&lt;span&gt;[enum]::GetNames([System.Globalization.CalendarAlgorithmType])&amp;#160; &lt;/span&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/546036873798832453-3391912369972555584?l=pshscripts.blogspot.com" alt="" /&gt;&lt;/div&gt;</description></item></channel></rss>