<?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>PowerShell for Windows</title><link>http://powershell.com/cs/forums/200.aspx</link><description>Moderated by PowerShell MVP &lt;a href="http://powershell.com/cs/content/experts.aspx#tobias-weltner"&gt;Dr. Tobias Weltner&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Help with get-process</title><link>http://powershell.com/cs/forums/thread/23671.aspx</link><pubDate>Thu, 23 May 2013 16:39:26 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23671</guid><dc:creator>Chaitanyakumar G</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23671.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23671</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I want to have a report with username, domain name, processes that user is owner of, process start time, and process end time with memory used as well.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ex:&lt;/p&gt;
&lt;p&gt;Username &amp;nbsp; domain name &amp;nbsp;process &amp;nbsp;memory used &amp;nbsp; owner&lt;/p&gt;
&lt;p&gt;chaitanya &amp;nbsp; &amp;nbsp;test domain &amp;nbsp; &amp;nbsp;process1 &amp;nbsp;100 mb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Chaitanya&lt;/p&gt;
&lt;p&gt;I was able to get until below step:&lt;/p&gt;
&lt;p&gt;get-process &amp;nbsp;| where {$_.cpu -gt 100} | select cpu,pm,vm,processname,Id,@{l=&amp;quot;Owner&amp;quot;;e={$owners[$_.id.tostring()]}} | ft -AutoSize&lt;/p&gt;
&lt;p&gt;I get only some counters, but I am not able to get memory used by that process until it is executed.&lt;/p&gt;
&lt;p&gt;Can anyone pls help on this?&lt;/p&gt;
&lt;p&gt;Chaitanya.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Get the selected products in WSUS</title><link>http://powershell.com/cs/forums/thread/23679.aspx</link><pubDate>Fri, 24 May 2013 05:19:08 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23679</guid><dc:creator>Dimitri Mantisi</dc:creator><slash:comments>0</slash:comments><comments>http://powershell.com/cs/forums/thread/23679.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23679</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I would like to write a script that retrieves the selected products on my WSUS servers.&lt;br /&gt;I did not find yet how to, could you please help me ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks in advance,&lt;/p&gt;
&lt;p&gt;Dimitri&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Compare XML values?</title><link>http://powershell.com/cs/forums/thread/23539.aspx</link><pubDate>Fri, 17 May 2013 01:05:19 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23539</guid><dc:creator>kernelphr34k</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/23539.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23539</wfw:commentRss><description>&lt;p&gt;I want to&amp;nbsp;apologize&amp;nbsp;if I&amp;#39;m not using the right&amp;nbsp;terminology... please correct me.&lt;/p&gt;
&lt;p&gt; I have an XML file that I need to parse through to get some data. One of the first things I need to do is get the version of the xml file and compare it with another XML file&amp;#39;s version in a remote location.&lt;/p&gt;
&lt;p&gt;To start, I&amp;#39;m&amp;nbsp;already&amp;nbsp;able to get the version of each file with the following code:&lt;/p&gt;
&lt;div class="pscode"&gt;[&lt;span class="datatype"&gt;xml&lt;/span&gt;]&lt;span class="var"&gt;$LHotFixes&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; &lt;span class="verbnoun"&gt;Get-Content&lt;/span&gt; &lt;span class="string"&gt;&amp;quot;E:\Fixes.xml&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="var"&gt;$LocalXML&lt;/span&gt; &lt;span class="op"&gt;=&lt;/span&gt; &lt;span class="var"&gt;$LHotFixes&lt;/span&gt;.&lt;span class="namespace"&gt;WSU.HDR&lt;/span&gt; | Select Version &lt;br /&gt;&lt;br /&gt;Returns:&lt;br /&gt;&lt;br /&gt;Version&lt;br /&gt;&lt;span class="op"&gt;--------&lt;/span&gt;&lt;br /&gt;3.1.4&lt;/div&gt;
&lt;p&gt;How do I go about comparing the versions? My code seemed to barf all over me.&lt;/p&gt;
&lt;div class="pscode"&gt;&lt;span class="var"&gt;$CompareXML&lt;/span&gt;&lt;span class="op"&gt;=&lt;/span&gt;&lt;span class="verbnoun"&gt;Compare-Object&lt;/span&gt; (&lt;span class="var"&gt;$RemoteXML&lt;/span&gt;.&lt;span class="method"&gt;SelectNodes&lt;/span&gt;(&lt;span class="string"&gt;&amp;quot;/WSU/HDR&amp;quot;&lt;/span&gt;) | &lt;span class="verbnoun"&gt;Select-object&lt;/span&gt; &lt;span class="verbnoun"&gt;Select-Object&lt;/span&gt; &lt;span class="modifier"&gt;-Expand&lt;/span&gt; Name) (&lt;span class="var"&gt;$LocalXML&lt;/span&gt;.&lt;span class="method"&gt;SelectNodes&lt;/span&gt;(&lt;span class="string"&gt;&amp;quot;/WSU/HDR&amp;quot;&lt;/span&gt;) | &lt;span class="verbnoun"&gt;Select-Object&lt;/span&gt; &lt;span class="modifier"&gt;-Expand&lt;/span&gt; Name)&lt;/div&gt;
&lt;p&gt;Any suggestions? Been searching but not finding anything.. and or not using the right search terms.&lt;/p&gt;
&lt;p&gt;A question, My code above that returns the value... What if I only wanted to get the value and not the Version with the value under it? Possible? Get-Member showed the following:&lt;/p&gt;
&lt;div class="pscode"&gt;PS C:\temp&amp;gt; &lt;span class="var"&gt;$LHotFixes&lt;/span&gt;.&lt;span class="namespace"&gt;WSU.HDR&lt;/span&gt; | Select Version |&lt;span class="verbnoun"&gt;get-member&lt;/span&gt; &lt;span class="modifier"&gt;-force&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   TypeName: &lt;span class="namespace"&gt;Selected.System&lt;/span&gt;.&lt;span class="datatype"&gt;Xml&lt;/span&gt;.&lt;span class="method"&gt;XmlElement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Name        MemberType   Definition&lt;br /&gt;&lt;span class="op"&gt;----&lt;/span&gt;        &lt;span class="op"&gt;----------&lt;/span&gt;   &lt;span class="op"&gt;----------&lt;/span&gt;&lt;br /&gt;pstypenames CodeProperty &lt;span class="namespace"&gt;System.Collections.ObjectModel.Collection&lt;/span&gt;`1[[System.&lt;span class="datatype"&gt;String&lt;/span&gt;, mscorlib, Version&lt;span class="op"&gt;=&lt;/span&gt;4.0.0.0, Cult..&lt;br /&gt;psadapted   MemberSet    psadapted {ToString, Equals, GetHashCode, GetType}&lt;br /&gt;psbase      MemberSet    psbase {ToString, Equals, GetHashCode, GetType}&lt;br /&gt;psextended  MemberSet    psextended {Version}&lt;br /&gt;psobject    MemberSet    psobject {BaseObject, Members, Properties, Methods, ImmediateBaseObject, TypeNames, get_Bas..&lt;br /&gt;Equals      Method       &lt;span class="datatype"&gt;bool&lt;/span&gt; Equals(&lt;span class="namespace"&gt;System.Object&lt;/span&gt; obj)&lt;br /&gt;GetHashCode Method       &lt;span class="datatype"&gt;int&lt;/span&gt; GetHashCode()&lt;br /&gt;GetType     Method       type GetType()&lt;br /&gt;ToString    Method       &lt;span class="datatype"&gt;string&lt;/span&gt; ToString()&lt;br /&gt;Version     NoteProperty System.&lt;span class="datatype"&gt;String&lt;/span&gt; Version&lt;span class="op"&gt;=&lt;/span&gt;3.1.4&lt;/div&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>read a bunch of file and folders and copy them to a new target</title><link>http://powershell.com/cs/forums/thread/23540.aspx</link><pubDate>Fri, 17 May 2013 02:48:22 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23540</guid><dc:creator>Noel.desousa</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/23540.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23540</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m very new to programing and have only done small script where i query AD for information and email results. This script is something I&amp;#39;ve never done.&lt;/p&gt;
&lt;p&gt;I have to take some code out of SVN via Jenkins and power shell. I got that to work but now need to read all these files and rename as i move them into a new target. I can create a line of code for each file. This then requires me to change my code every time we have a new change.&lt;/p&gt;
&lt;p&gt;how can I load an array and loop though each file as i rename and copy the file to a new location?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Windows Server Backup for multiple servers.</title><link>http://powershell.com/cs/forums/thread/23405.aspx</link><pubDate>Sat, 11 May 2013 08:31:38 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23405</guid><dc:creator>Sanjeev Singh</dc:creator><slash:comments>8</slash:comments><comments>http://powershell.com/cs/forums/thread/23405.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23405</wfw:commentRss><description>&lt;p&gt;Hi Team,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I amp writing a powershell script for my windows infrastructure. And the idea is &amp;gt; A script will run on multiple servers and will get the details about windows server backup in excel file.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have done my com programing but i am mot able to make the script for multiple servers for windows server backup. I am not able to get any computer name parameter in WSB cmdlet.&lt;/p&gt;
&lt;p&gt;Please let me know, in case you help me out.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best Regards&lt;/p&gt;
&lt;p&gt;Sanjeev Singh&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Installing an MSP works on the local machine, fails remotely.  Why?</title><link>http://powershell.com/cs/forums/thread/23495.aspx</link><pubDate>Tue, 14 May 2013 23:35:08 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23495</guid><dc:creator>catt11</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/23495.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23495</wfw:commentRss><description>&lt;p&gt;Good afternoon,&lt;/p&gt;
&lt;p&gt;I need some advice.&lt;/p&gt;
&lt;p&gt;I need to install an application&amp;#39;s MSP update file on multiple Win08r2 servers.&amp;nbsp; If I run these commands locally, within the target machine&amp;#39;s PS window, it does exactly what I want it to:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;$command = &amp;#39;msiexec.exe /p &amp;quot;c:\test\My Application Update 01.msp&amp;quot; REBOOTPROMPT=S /qb!&amp;#39;&lt;br /&gt;invoke-wmimethod -path win32_process -name create -argumentlist $command&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The file being executed &lt;i&gt;is &lt;/i&gt;located on the target machine&lt;/p&gt;
&lt;p&gt;If I remotely connect to the machine, and execute the two commands, it opens two x64 msiexec.exe process, and one msiexec.exe *32 process, and just sits there.&lt;/p&gt;
&lt;p&gt;If I restart the server, it doesn&amp;#39;t show that the update was installed, so I don&amp;#39;t think it&amp;#39;s a timing thing.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried creating and remotely executing a PS1 file with the two lines, but that seems to do the same thing.&lt;/p&gt;
&lt;p&gt;If anyone has advice on getting my MSP update installed remotely, I&amp;#39;d be all ears.&lt;/p&gt;
&lt;p&gt;I think I&amp;#39;ve included all the information I have, but if something is missing, please ask questions, and I&amp;#39;ll fill in any blanks.&lt;/p&gt;
&lt;p&gt;Thank you in advance for your time and assistance!&lt;/p&gt;
&lt;p&gt;Catt11&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Powershell when run under a scheduled task requires a local user profile</title><link>http://powershell.com/cs/forums/thread/23483.aspx</link><pubDate>Tue, 14 May 2013 20:27:30 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23483</guid><dc:creator>rfiscus</dc:creator><slash:comments>11</slash:comments><comments>http://powershell.com/cs/forums/thread/23483.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23483</wfw:commentRss><description>&lt;p&gt;If I run a scheduled task that executes a PS script, it fails, actually does nothing.&amp;nbsp; If I log onto that system with the user account&amp;nbsp;running the task and then log off again, the scheduled task runs fine.&amp;nbsp; Why would a local profile need to be created before running a PS script with it?&amp;nbsp; We have a GPO that sets the MachinePolicy to RemoteSigned but have not been able to set the UserPolicy to RemoteSigned unless the user logs on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Finding a specific file on a list of servers' local drives</title><link>http://powershell.com/cs/forums/thread/23462.aspx</link><pubDate>Tue, 14 May 2013 15:48:01 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23462</guid><dc:creator>tonyaldr</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/23462.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23462</wfw:commentRss><description>&lt;p&gt;I don&amp;#39;t know if this can be done, but I need to search for a specific file on only a server&amp;#39;s local drives in order to determine whether a certain program is installed.&amp;nbsp; The boxes were all originally built and managed by different people and so are installed with different folder structures and locations.&amp;nbsp; Also, the servers are a mix that have solely a C, a C &amp;amp; D, or a C and some other letters.&amp;nbsp; There are about 150 servers that I need to check and I have a txt file that I can pipe in.&amp;nbsp; Is there a way to have Powershell determine what a machine&amp;#39;s local drives (non-optical) are and limit the search to those?&amp;nbsp; Thx!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Verifying audit settings of files listed within a text file </title><link>http://powershell.com/cs/forums/thread/23418.aspx</link><pubDate>Sat, 11 May 2013 16:42:35 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23418</guid><dc:creator>rcb</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23418.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23418</wfw:commentRss><description>&lt;p&gt;The script below was written to verify the audit settings of a specific group of files. The script performs the required task, however it only reports if a file matches the requirement or if I change the setting to -notmatch it only reports those that fail.&lt;/p&gt;
&lt;p&gt;I would like to be able to report a pass or fail for each file in the list based on a -match statement only.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$col=@()&lt;/p&gt;
&lt;p&gt;foreach ($path in get-content ./WXP_x32.txt){&lt;/p&gt;
&lt;p&gt;$col =get-acl $path -audit |select path,accesstostring, audittostring&lt;/p&gt;
&lt;p&gt;$col |where-object {$_.AuditToString -match &amp;quot;Everyone Failure &amp;nbsp;ReadData, CreateFiles, AppendData, ExecuteFile, Delete, ChangePermissions, TakeOwnership&amp;quot;}&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am using PS2 as I have to support a few XP systems. The accesstostring is not required for this particular task but to be used for a later step once I figure this part out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Adding an arbitrary column such as current date to the result set of a Get_NetworkStatistics</title><link>http://powershell.com/cs/forums/thread/23320.aspx</link><pubDate>Tue, 07 May 2013 19:58:56 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23320</guid><dc:creator>rfiscus</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/23320.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23320</wfw:commentRss><description>&lt;p&gt;I have a nice Netstat script that I modified from &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2011/02/10/How-to-find-running-processes-and-their-port-number.aspx"&gt;http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2011/02/10/How-to-find-running-processes-and-their-port-number.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I want to add an extra column so instead of this:&lt;/p&gt;
&lt;p&gt;Protocol&amp;nbsp; LocalAddress&amp;nbsp; LocalPort RemoteAddress&lt;/p&gt;
&lt;p&gt;TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3389&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I want do add additional fields that aren&amp;#39;t part of the query like todays date and computername because I will be importing this into SQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ComputerName&amp;nbsp; Protocol LocalAddress LocalPort&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemoteAddress&lt;br /&gt;20130507&amp;nbsp;&amp;nbsp; Computer1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0 &lt;br /&gt;20130507&amp;nbsp;&amp;nbsp; Computer1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&lt;br /&gt;20130507&amp;nbsp;&amp;nbsp; Computer1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3389&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0&lt;/p&gt;
&lt;p&gt;The current code I use is below:&lt;/p&gt;
&lt;p&gt;function Get-NetworkStatistics &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $properties = &amp;#39;Protocol&amp;#39;,&amp;#39;LocalAddress&amp;#39;,&amp;#39;LocalPort&amp;#39; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $properties += &amp;#39;RemoteAddress&amp;#39;,&amp;#39;RemotePort&amp;#39;,&amp;#39;State&amp;#39;,&amp;#39;ProcessName&amp;#39; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; netstat -ano | Select-String -Pattern &amp;#39;\s+(TCP|UDP)&amp;#39; | ForEach-Object { &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $item = $_.line.split(&amp;quot; &amp;quot;,[System.StringSplitOptions]::RemoveEmptyEntries) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($item[1] -notmatch &amp;#39;^\[::&amp;#39;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (($la = $item[1] -as [ipaddress]).AddressFamily -eq &amp;#39;InterNetworkV6&amp;#39;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $localAddress = $la.IPAddressToString &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $localPort = $item[1].split(&amp;#39;\]:&amp;#39;)[-1] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $localAddress = $item[1].split(&amp;#39;:&amp;#39;)[0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $localPort = $item[1].split(&amp;#39;:&amp;#39;)[-1] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (($ra = $item[2] -as [ipaddress]).AddressFamily -eq &amp;#39;InterNetworkV6&amp;#39;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $remoteAddress = $ra.IPAddressToString &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $remotePort = $item[2].split(&amp;#39;\]:&amp;#39;)[-1] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $remoteAddress = $item[2].split(&amp;#39;:&amp;#39;)[0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $remotePort = $item[2].split(&amp;#39;:&amp;#39;)[-1] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New-Object PSObject -Property @{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessName = (Get-Process -Id $item[-1] -ErrorAction SilentlyContinue).Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protocol = $item[0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocalAddress = $localAddress &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocalPort = $localPort &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemoteAddress =$remoteAddress &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemotePort = $remotePort&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State = if($item[0] -eq &amp;#39;tcp&amp;#39;) {$item[3]} else {$null} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } | Select-Object -Property $properties &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;} &lt;br /&gt;Get-NetworkStatistics |&lt;br /&gt;Where {$_.State -eq &amp;#39;LISTENING&amp;#39; -or $_.State -eq &amp;#39;ESTABLISHED&amp;#39; -or $_.Protocol -eq &amp;#39;UDP&amp;#39;} | Sort Protocol,LocalAddress,LocalPort |`&lt;br /&gt;Format-Table -Property Protocol,LocalAddress,LocalPort,RemoteAddress,RemotePort,@{Label=&amp;#39;PortState&amp;#39;;Expression={$_.State}},ProcessName -AutoSize&lt;/p&gt;
&lt;p&gt;So is it possible to add additional fields to the output that aren&amp;#39;t part of the main query and how?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Set quota on C:\ drive for a specific group </title><link>http://powershell.com/cs/forums/thread/23249.aspx</link><pubDate>Thu, 02 May 2013 19:56:59 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23249</guid><dc:creator>MyztiquL</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/23249.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23249</wfw:commentRss><description>&lt;p&gt;Hey guys,&lt;/p&gt;
&lt;p&gt;First off all, I spent a lot of time researching this on the internet and I haven&amp;#39;t found a solution yet so I decided to make an account to finally solve it.&lt;br /&gt;The situation: Windows 2008 server, I have a database filled with users, I have a script that adds certain users of a specified department to the Active Directory and creates a group and an organisational unit for those users.&amp;nbsp;&lt;br /&gt;I now want that group of users to have the same quota (specified by another inputbox) on the local C:\ drive of the local server where the script runs on.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sorry if my question is a little vague but is there any way this is possible using Powershell?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ByPass UAC on Windows 7 from PowerCLI</title><link>http://powershell.com/cs/forums/thread/23182.aspx</link><pubDate>Thu, 02 May 2013 00:49:26 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23182</guid><dc:creator>kernelphr34k</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/23182.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23182</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I just tested my script where I&amp;#39;m changing an IP from a dev system to a target system. I kept getting the following error:&amp;nbsp;&lt;i&gt;&lt;strong&gt;Set-VMGuestNetworkInterface &amp;quot;Error occured while configuring the network:&amp;#39;The requested operation requires elevation (Run as administrator).&lt;/strong&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;I disabled UAC, rebooted... Re-ran the script and it was successful in changing the IP.&lt;/p&gt;
&lt;p&gt;So, now how does one bypass UAC?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a snippet of my code:&lt;/p&gt;
&lt;div class="pscode"&gt;&lt;span class="var"&gt;$interface&lt;/span&gt;&lt;span class="op"&gt;=&lt;/span&gt;&lt;span class="verbnoun"&gt;Get-VMGuestNetworkInterface&lt;/span&gt; &lt;span class="modifier"&gt;-VM&lt;/span&gt; &lt;span class="var"&gt;$VMName&lt;/span&gt; &lt;span class="modifier"&gt;-GuestUser&lt;/span&gt; &lt;span class="var"&gt;$GUser&lt;/span&gt; &lt;span class="modifier"&gt;-GuestPassword&lt;/span&gt; &lt;span class="var"&gt;$GPass&lt;/span&gt; | ? {&lt;span class="var"&gt;$_&lt;/span&gt;.&lt;span class="method"&gt;name&lt;/span&gt; &lt;span class="op"&gt;-eq&lt;/span&gt; &lt;span class="string"&gt;&amp;quot;Local Area Connection 2&amp;quot;&lt;/span&gt;}&lt;br /&gt;&lt;span class="verbnoun"&gt;Set-VMGuestNetworkInterface&lt;/span&gt; &lt;span class="modifier"&gt;-VMGuestNetworkInterface&lt;/span&gt; &lt;span class="var"&gt;$interface&lt;/span&gt; &lt;span class="modifier"&gt;-GuestUser&lt;/span&gt; &lt;span class="var"&gt;$GUser&lt;/span&gt; &lt;span class="modifier"&gt;-GuestPassword&lt;/span&gt; &lt;span class="var"&gt;$GPass&lt;/span&gt; &lt;span class="modifier"&gt;-Ip&lt;/span&gt; &lt;span class="var"&gt;$IPaddr&lt;/span&gt; &lt;span class="modifier"&gt;-Netmask&lt;/span&gt; &lt;span class="var"&gt;$SNMaddr&lt;/span&gt; &lt;span class="modifier"&gt;-Gateway&lt;/span&gt; &lt;span class="var"&gt;$GWaddr&lt;/span&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Getting full path for remote shares</title><link>http://powershell.com/cs/forums/thread/23137.aspx</link><pubDate>Tue, 30 Apr 2013 18:11:37 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23137</guid><dc:creator>JinRI</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/23137.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23137</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m having a bit of difficulty with this and don&amp;#39;t want to have to resort to dumping to excel and filling in the &amp;quot;\&amp;quot;s. or using ShareEnum and dumping the whole network.&lt;/p&gt;
&lt;p&gt;I can get a list using:&lt;/p&gt;
&lt;p&gt;get-content .\file.txt | &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; %{gwmi win32_share -computername $_}|? {$_.type -eq 0} |&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; select $.__Server,$.name&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;want to get a list of the shares in the format&amp;nbsp; &lt;a&gt;\\server\share&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This output will be piped to get-item.count, in order to find empty shares, then to get-acl/get-access? to get the permissions.&lt;/p&gt;
&lt;p&gt;This all goes along with an earlier post of mine about shares.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;aTdHvAaNnKcSe for any help/insight&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;J&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to eject a USB mass storage by powershell script?</title><link>http://powershell.com/cs/forums/thread/23076.aspx</link><pubDate>Sun, 28 Apr 2013 01:45:31 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:23076</guid><dc:creator>victorwoo</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/23076.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=23076</wfw:commentRss><description>&lt;p&gt;If we indicated driver number, or volume label, how to eject a USB mass storage by powershell script?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Location based printing script</title><link>http://powershell.com/cs/forums/thread/21633.aspx</link><pubDate>Sat, 16 Feb 2013 16:26:41 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:21633</guid><dc:creator>AFlowers</dc:creator><slash:comments>10</slash:comments><comments>http://powershell.com/cs/forums/thread/21633.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=21633</wfw:commentRss><description>&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;
 
  
 

 
  Normal
  0
  false
  
  
  
  false
  false
  false
  
  EN-US
  X-NONE
  X-NONE
  
   
   
   
   
   
   
   
   
   
  
  
   
   
   
   
   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 



&lt;p class="MsoNormal"&gt;Im a new VMware View Admin and Im having an issue with
location based printing. It is not consistently working and instead of spinning
my wheels on that I want to try and write a script that runs at every startup
or login and either maps a printer based on the machine name of the client
device (found in the registry). The client machine name attribute doesn&amp;rsquo;t get
added in until the user logins. Also I already have a computer name convention
in place so that the computer name has the location in it. The naming
convention variables are Location/Year/DeviceType/NumberSequence, Example:
HomeOffice13D001; SouthOffice13D002; Shipping13D003; Admin13D004&lt;/p&gt;
&lt;p class="MsoNormal"&gt;So this is what I need the script to do step by step.&lt;/p&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find the machine name of the client device. Located at HKCU\Volatile Environment\&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;ViewClient_Machine_Name&lt;/span&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7.0pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Match the machine variable to a &amp;ldquo;printer table&amp;rdquo;
that I have setup. Currently have it in spreadsheet, Which looks like this:&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;

 
 
 
&lt;tbody&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;width:105pt;"&gt;Client machine name&lt;/td&gt;
&lt;td style="width:66pt;"&gt;Printer name&lt;/td&gt;
&lt;td style="width:110pt;"&gt;Printer location&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 1&lt;/td&gt;
&lt;td&gt;Printer 1&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer1&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 2&lt;/td&gt;
&lt;td&gt;Printer 2&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer2&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 3&lt;/td&gt;
&lt;td&gt;Printer 3&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer3&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 4&lt;/td&gt;
&lt;td&gt;Printer 4&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer4&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 5&lt;/td&gt;
&lt;td&gt;Printer 5&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer5&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 6&lt;/td&gt;
&lt;td&gt;Printer 6&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer6&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 7&lt;/td&gt;
&lt;td&gt;Printer 7&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer7&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 8&lt;/td&gt;
&lt;td&gt;Printer 8&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer8&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:15.0pt;"&gt;
&lt;td style="height:15.0pt;"&gt;Computer 9&lt;/td&gt;
&lt;td&gt;Printer 9&lt;/td&gt;
&lt;td class="xl64"&gt;&lt;a&gt;\\PrintServer\Printer9&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font:7.0pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;3. Then installs the needed printer and makes it the
default printer.&lt;/p&gt;
&lt;p&gt;
&lt;p class="MsoNormal" style="margin-left:.25in;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;I can change the printer table to a xml table if needed. Also
if it would be easier for all the printers to be installed locally so the
script would just change the default printer based on the location I can do
that. But if I switched to local printers I wouldn&amp;rsquo;t able to kill the print
jobs from my Windows Print Server.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;If anyone can help me get started or tell me that I&amp;rsquo;m going
about this all the wrong my just let me know. Thanks&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Print to a network printer</title><link>http://powershell.com/cs/forums/thread/22688.aspx</link><pubDate>Thu, 11 Apr 2013 12:56:12 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22688</guid><dc:creator>Hamid</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/22688.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22688</wfw:commentRss><description>&lt;p&gt;&lt;span id="result_box"&gt;&lt;span class="hps"&gt;Hello&lt;/span&gt; &lt;span class="hps"&gt;I&lt;/span&gt; &lt;span class="hps"&gt;would like to&lt;/span&gt; &lt;span class="hps"&gt;print to a&lt;/span&gt; &lt;span class="hps alt-edited"&gt;of arbitrary&lt;/span&gt; &lt;span class="hps"&gt;network&lt;/span&gt; &lt;span class="hps"&gt;printer not&lt;/span&gt; &lt;span class="hps"&gt;the default&lt;/span&gt; &lt;span class="hps"&gt;printer&lt;/span&gt;&lt;span&gt;.&lt;/span&gt; &lt;span class="hps"&gt;I have&lt;/span&gt; &lt;span class="hps"&gt;the following script&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="hps"&gt;Dir&lt;/span&gt; &lt;span class="hps"&gt;c&lt;/span&gt;&lt;span&gt;:&lt;/span&gt; &lt;span class="hps"&gt;\&lt;/span&gt; &lt;span class="hps"&gt;myFolder&lt;/span&gt; &lt;span class="hps"&gt;\&lt;/span&gt; &lt;span class="hps"&gt;*&lt;/span&gt;&lt;span&gt;.&lt;/span&gt; &lt;span class="hps"&gt;Pdf&lt;/span&gt; &lt;span class="hps"&gt;|&lt;/span&gt; &lt;span class="hps"&gt;Foreach&lt;/span&gt;&lt;span class="atn"&gt;-&lt;/span&gt;&lt;span&gt;Object&lt;/span&gt; &lt;span class="hps"&gt;{Start&lt;/span&gt;&lt;span class="atn"&gt;-&lt;/span&gt;&lt;span&gt;Process&lt;/span&gt;&lt;span class="atn"&gt;-&lt;/span&gt;&lt;span&gt;FilePath&lt;/span&gt; &lt;span class="hps"&gt;$&lt;/span&gt; &lt;span class="hps"&gt;_.FullName&lt;/span&gt;&lt;span class="atn"&gt;-&lt;/span&gt;&lt;span&gt;Verb&lt;/span&gt; &lt;span class="hps"&gt;Print&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="hps"&gt;I&lt;/span&gt; &lt;span class="hps"&gt;would like to&lt;/span&gt; &lt;span class="hps"&gt;define&lt;/span&gt; &lt;span class="hps"&gt;the printer&lt;/span&gt; for &lt;span class="hps"&gt;eksample&lt;/span&gt; &lt;span class="hps"&gt;\&lt;/span&gt; &lt;span class="hps"&gt;\&lt;/span&gt; &lt;span class="hps"&gt;print server&lt;/span&gt; &lt;span class="hps"&gt;\&lt;/span&gt; &lt;span class="hps"&gt;printer&lt;/span&gt;&lt;br /&gt;&lt;span class="hps"&gt;&lt;span class="hps alt-edited"&gt;thank you very much&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to link the output from win32_diskdrive and win32_volume</title><link>http://powershell.com/cs/forums/thread/22863.aspx</link><pubDate>Thu, 18 Apr 2013 12:17:13 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22863</guid><dc:creator>malkaul</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/22863.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22863</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am doing some analysis on multiple servers and am looking at ways to link the output from the following 2 lines:&lt;/p&gt;
&lt;p&gt;Get-WmiObject win32_volume | Select SystemName, name, Label, DriveLetter, serialnumber |ft -AutoSize&lt;/p&gt;
&lt;p&gt;Get-WmiObject win32_diskdrive | Select systemname, name, serialnumber |ft -AutoSize&lt;/p&gt;
&lt;p&gt;I would like to have a table outputting information that basically shows me which physical drive is linked to each drive letter\mount point and I can&amp;#39;t see any common options to link the two.&lt;/p&gt;
&lt;p&gt;Can anybody suggest how to do this?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Cannot get CPU value to show on a remote computer</title><link>http://powershell.com/cs/forums/thread/22836.aspx</link><pubDate>Tue, 16 Apr 2013 22:21:54 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22836</guid><dc:creator>Patrick</dc:creator><slash:comments>1</slash:comments><comments>http://powershell.com/cs/forums/thread/22836.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22836</wfw:commentRss><description>&lt;p&gt;When I run a script I have been working on the value for CPU&amp;nbsp;and Path&amp;nbsp;is blank. I have racked my brain trying to figure it out but cannot. Being new to PowerShell its frustrating. &lt;/p&gt;
&lt;p&gt;What have I done wrong?&lt;/p&gt;
&lt;p&gt;Script line:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;get-process -ComputerName xxxx&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;where-object&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#ff4500;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#ff4500;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#ff4500;"&gt;$_&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;WorkingSet &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;-gt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#800080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#800080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#800080;"&gt;10000000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;} &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;cpu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;id&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;path&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;sort-object&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;-property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#8a2be2;"&gt;cpu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;-Descending&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#a9a9a9;"&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#0000ff;"&gt;format-table&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;-auto &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:xx-small;font-family:Lucida Console;color:#000080;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Output:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Name&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;CPU&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Id &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Path&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;924&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;964&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;1776&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;872&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;688&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;780&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;svchost&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;824&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>copy file to multiple computers</title><link>http://powershell.com/cs/forums/thread/11209.aspx</link><pubDate>Tue, 05 Jul 2011 12:40:42 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:11209</guid><dc:creator>Troy</dc:creator><slash:comments>7</slash:comments><comments>http://powershell.com/cs/forums/thread/11209.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=11209</wfw:commentRss><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;im trying to copy a file from one computer to multiple servers.&lt;/p&gt;
&lt;p&gt;I want to&amp;nbsp;use a txt (Srvlist.txt) file containing the servers name.&lt;/p&gt;
&lt;p&gt;but I get an error that the path cannot be found.&lt;/p&gt;
&lt;p&gt;I can copy the file manualy to the UNC path.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;this is the script:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$a = Get-Content &amp;quot;D:\Scripting\Srvlist.txt&amp;quot; &lt;br /&gt;foreach ($i in $a) &lt;/p&gt;
&lt;p&gt;{Copy-Item D:\Scripting\TestCopy.txt -Destination &lt;a&gt;\\$i\C$\temp&lt;/a&gt; -force}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>splitting variables</title><link>http://powershell.com/cs/forums/thread/22730.aspx</link><pubDate>Fri, 12 Apr 2013 09:47:26 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22730</guid><dc:creator>kriksik</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/22730.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22730</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I need help for a script to archive logfiles, im trying to compress monthly logs with 7zip.&lt;/p&gt;
&lt;p&gt;Im &amp;quot;feeding&amp;quot; 7zip executable with a file list from a array stored in a variable, but the list is to big for 7zip to handle. Logdirectory has different subdirectories.&lt;/p&gt;
&lt;p&gt;How can i split my original array in to smaller arrays?&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;set-alias zip &amp;quot;$env:ProgramFiles\7-Zip\7z.exe&amp;quot;&lt;/p&gt;
&lt;p&gt;$logfiles=gci &amp;quot;logdir&amp;quot; -recurse | where {$_.Name -like &amp;quot;*.log&amp;quot; | foreach-object -process {$_.Fullname}&lt;/p&gt;
&lt;p&gt;zip a backupdir\zipfile.zip $logfiles&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Powershell for Beginners-Tic Tac Toe Game</title><link>http://powershell.com/cs/forums/thread/22621.aspx</link><pubDate>Mon, 08 Apr 2013 23:53:58 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22621</guid><dc:creator>njchaltry</dc:creator><slash:comments>4</slash:comments><comments>http://powershell.com/cs/forums/thread/22621.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22621</wfw:commentRss><description>&lt;p&gt;Hello, beginner Powershell user here. I cannot for the life of me figure out what is wrong with my code. The script asks &amp;quot;Would you like to play? (Y/N)&amp;quot; and when the user enters &amp;quot;Y&amp;quot; it hangs and doesn&amp;#39;t go any further. I have spent hours trying to figure it and and have been comparing it letter for letter with the book. My instructor will deduct points from my grade if he debugs it. Can you notice anything? &amp;nbsp;(The game board is formatted correctly inside powershell, unlike below)&lt;/p&gt;
&lt;p&gt;# *************************************************************************&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;# Script Name: TicTacToe.ps1 (The Tic-Tac-Toe Game)&lt;/p&gt;
&lt;p&gt;# Version: &amp;nbsp; &amp;nbsp; 2.0&lt;/p&gt;
&lt;p&gt;# Author: &amp;nbsp; &amp;nbsp; &amp;nbsp;Nate&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# Date: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;April 8, 2013&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;# Description: This PowerShell script is a two player implementation of the&lt;/p&gt;
&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;popular Tic-Tac-Toe game&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;# *************************************************************************&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# Initialization Section&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Define variables used in this script&lt;/p&gt;
&lt;p&gt;$startGame = &amp;quot;False&amp;quot; #Controls when the game terminates&lt;/p&gt;
&lt;p&gt;$playGame = &amp;quot;True&amp;quot; &amp;nbsp; #Controls the play of an individual round of play&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$player = &amp;quot;X&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#Specifies the current player&amp;#39;s turn&lt;/p&gt;
&lt;p&gt;$winner = &amp;quot;&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Specifies the winner&lt;/p&gt;
&lt;p&gt;$moves = 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Counts the number of moves made&lt;/p&gt;
&lt;p&gt;$move = &amp;quot;&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Stores the current player&amp;#39;s move&lt;/p&gt;
&lt;p&gt;$tie = &amp;quot;False&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Specifies when a tie occurs&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Variables representing game board squares&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$A1 = &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;p&gt;$A2 = &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;p&gt;$A3 = &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;p&gt;$B1 = &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;p&gt;$B2 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;$B3 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;$C1 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;$C2 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;$C3 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# Functions and Filters Section&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function resets variables representing variable board squares&lt;/p&gt;
&lt;p&gt;function Clear-Board {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:A1 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:A2 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:A3 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:B1 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:B2 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:B3 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:C1 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:C2 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $script:C3 = &amp;quot; &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function gets the player&amp;#39;s permission to start a round of play&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Get-Permission {&lt;/p&gt;
&lt;p&gt;#Loop until a valid reply is collected&lt;/p&gt;
&lt;p&gt;&amp;nbsp; while ($startGame -eq &amp;quot;False&amp;quot;) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; #Display the game&amp;#39;s opening screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot;`n`n`n`n&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;Welcome to the &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X &amp;nbsp; | &amp;nbsp; O &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; T I C - T A C - T O E &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; X &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; G A M E ! &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; O &amp;nbsp; | &amp;nbsp; X&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; #Collect the player&amp;#39;s input&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $response = Read-Host &amp;quot;`n`n`n`n`n`n`n Would you like to play? (Y/N)&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; #Validate the player&amp;#39;s input&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if ($response -eq &amp;quot;Y&amp;quot;){ &amp;nbsp;#The player wants to play a new round&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $startGame = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; elseif ($response -eq &amp;quot;N&amp;quot;) { &amp;nbsp;#The player wants to quit&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $startGame = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Clear-Host &amp;nbsp; #Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; exit &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Terminate script execution&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function displays the game board, showing each player&amp;#39;s moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Display-Board {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Clear-Host #Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Display the game board&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot;`n`n &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;T I C &amp;nbsp;- &amp;nbsp;T A C &amp;nbsp;- T O E`n`n`n&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; 3`n&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp;$A1 | &amp;nbsp; $A2 | &amp;nbsp; $A3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B &amp;nbsp; &amp;nbsp;$B1 | &amp;nbsp; $B2 | &amp;nbsp; $B3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C &amp;nbsp; &amp;nbsp;$C1 | &amp;nbsp; $C2 | &amp;nbsp; $C3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Collect player move&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $move = Read-Host &amp;quot;`n`n`n`n Player $player&amp;#39;s turn&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $move &amp;nbsp;#Return the Player&amp;#39;s input to the calling statement&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function determines if the player&amp;#39;s input is valid&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Validate-Move {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if ($move.length -eq 2) { &amp;nbsp;#Valid moves consist of 2 characters&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if ($move -match &amp;quot;[A-C][1-3]&amp;quot;) { &amp;nbsp;#Regular expression test that looks&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $result = &amp;quot;Valid&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #for an instance of A, B, or C and an&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #instance of 1, 2, or 3.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; else {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $result = &amp;quot;Invalid&amp;quot; &amp;nbsp;#The move is invalid if it is not A1, A2, A3,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# B1, B2, B3, C1, C2, or C3&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; else {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $result = &amp;quot;Invalid&amp;quot; &amp;nbsp;#The move is invalid if it does not consist of 2&lt;/p&gt;
&lt;p&gt;&amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#characters&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Move is invalid if it has already been assigned to a player during a&lt;/p&gt;
&lt;p&gt;&amp;nbsp; # previous turn&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;A1&amp;quot;) -and ($A1 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;A2&amp;quot;) -and ($A2 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;A3&amp;quot;) -and ($A3 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;B1&amp;quot;) -and ($B1 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;B2&amp;quot;) -and ($B2 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;B3&amp;quot;) -and ($B3 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;C1&amp;quot;) -and ($C1 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;C2&amp;quot;) -and ($C2 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($move -eq &amp;quot;C3&amp;quot;) -and ($C3 -ne &amp;quot; &amp;quot;)) {$result = &amp;quot;Invalid&amp;quot;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $result &amp;nbsp;#Return this value to the statement that called this function&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function checks the game board to see if there is a winner&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Check-Results {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $winner = &amp;quot;&amp;quot; &amp;nbsp;#Always reset this value before checking&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Look for a winner vertically&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A1 -eq $player) -and ($A2 -eq $player) -and ($A3 -eq $player)) {&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($B1 -eq $player) -and ($B2 -eq $player) -and ($B3 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($C1 -eq $player) -and ($C2 -eq $player) -and ($C3 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Look for a winner horizontally&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A1 -eq $player) -and ($B1 -eq $player) -and ($C1 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A2 -eq $player) -and ($B2 -eq $player) -and ($C2 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A3 -eq $player) -and ($B3 -eq $player) -and ($C3 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;#Look for a winner diagonally&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A1 -eq $player) -and ($B2 -eq $player) -and ($C3 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if (($A1 -eq $player) -and ($B2 -eq $player) -and ($C1 -eq $player)) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $winner = $player&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $winner &amp;nbsp;#Return this value to the statement that called this function&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This function displays the game board and the final results of a round&lt;/p&gt;
&lt;p&gt;#of play&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Display-Results {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Display the game board&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot;`n`n &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;T I C &amp;nbsp;- &amp;nbsp;T A C &amp;nbsp;- T O E`n`n`n&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; 3`n&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp;$A1 &amp;nbsp; | &amp;nbsp; $A2 &amp;nbsp; | &amp;nbsp; $A3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B &amp;nbsp; &amp;nbsp;$B1 &amp;nbsp; | &amp;nbsp; $B2 &amp;nbsp; | &amp;nbsp; $B3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ------|-------|------&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C &amp;nbsp; &amp;nbsp;$C1 &amp;nbsp; | &amp;nbsp; $C2 &amp;nbsp; | &amp;nbsp; $C3&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host &amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; |&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if ($tie -eq &amp;quot;True&amp;quot;) { &amp;nbsp;#Check to see if the game resulted in a tie&lt;/p&gt;
&lt;p&gt;Read-Host &amp;quot;`n`n`n`n The game has ended in a tie. Press Enter to continue&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; else { &amp;nbsp;#If a tie did not occur, identify the winner&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;Read-Host &amp;quot;`n`n`n`n Game over. $player has won. Press Enter to continue&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Clear-Board &amp;nbsp;#Call function that resets the game board&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Get-Permission &amp;nbsp;#Call function that asks the players for permission to&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # start a new round of play&lt;/p&gt;
&lt;p&gt;while ($Terminate -ne &amp;quot;True&amp;quot;) { &amp;nbsp;#Loop until the player decides to quit&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;while ($playGame -eq &amp;quot;True&amp;quot;) { &amp;nbsp;#This loop controls the logic required to&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #play a round of Tic-Tac-Toe&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$move = Display-Board &amp;nbsp;#Call function that displays the game board and&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#collects player moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$validMove = Validate-Move &amp;nbsp;#Call the function that validates player moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if ($validMove -eq &amp;quot;Valid&amp;quot;) { &amp;nbsp;#Process valid moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;$moves++ #Increment variable that keeps track of the number of valid moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;#Assign the appropriate game board square to the player that selected it&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;A1&amp;quot;) {$A1 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;A2&amp;quot;) {$A2 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;A3&amp;quot;) {$A3 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;B1&amp;quot;) {$B1 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;B2&amp;quot;) {$B2 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;B3&amp;quot;) {$B3 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;C1&amp;quot;) {$C1 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;C2&amp;quot;) {$C2 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;if ($move -eq &amp;quot;C3&amp;quot;) {$C3 = $player}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;else { &amp;nbsp;#Process invalid moves&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Read-Host &amp;quot;`n`n`n`n`n`n`n`n`n`nInvalid Move. Press Enter to try again&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; continue &amp;nbsp;#Repeat this loop&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$winner = Check-Results &amp;nbsp;#Call function that determines if the game is over&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#and who, if anyone, has won&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if ($winner -eq &amp;quot;X&amp;quot;) { &amp;nbsp;#Perform the following actions when Player X wins&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host `a &amp;nbsp;#Make a beep sound&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Display-Results &amp;nbsp;#Call function that displays game results&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $playGame = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; continue &amp;nbsp;#Repeat this loop&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if ($winner -eq &amp;quot;O&amp;quot;) { &amp;nbsp;#Perform the following actions when Player O wins&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Write-Host `a &amp;nbsp;#Make a beep sound&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Display-Results #Call function that displays game results&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $playGame = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; continue &amp;nbsp;#Repeat this loop&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if ($moves -eq 9) { &amp;nbsp;#Perform the following actions when a tie occurs&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Write-Host `a &amp;nbsp;#Make a beep sound&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $tie = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Display-Results &amp;nbsp;#Call function that displays game results&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $playGame = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; continue &amp;nbsp;#Repeat this loop&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#The game is not over yet so switch player turn&lt;/p&gt;
&lt;p&gt;if ($playGame -eq &amp;quot;True&amp;quot;) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if ($player -eq &amp;quot;X&amp;quot;) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $player = &amp;quot;O&amp;quot;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; else {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $player = &amp;quot;X&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#This next set of statements only runs when the current round of play&lt;/p&gt;
&lt;p&gt;#has ended&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$response = &amp;quot;False&amp;quot; #Set default value in order to ensure the loop executes&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#Loop until valid input is received&lt;/p&gt;
&lt;p&gt;while ($response -ne &amp;quot;True&amp;quot;) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; #Prompt the player to play a new game&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $response = Read-Host &amp;quot;`n`n Play again? (Y/N)&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;#Validate the player&amp;#39;s input &amp;nbsp;#Keep playing&lt;/p&gt;
&lt;p&gt;&amp;nbsp; if ($response -eq &amp;quot;Y&amp;quot;) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; #Reset default variable settings to get ready for a new round of play&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $response = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $terminate = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $playGame = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Clear-Board&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $player = &amp;quot;X&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $moves = 0&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $tie = &amp;quot;False&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; elseif ($response -eq &amp;quot;N&amp;quot;) { &amp;nbsp;#Time to quit&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-host &amp;quot; `n`n Please return and play again soon.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Read-Host &amp;nbsp;#Pause gameplay&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $response = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; $terminate = &amp;quot;True&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; else { &amp;nbsp;#Invalid input received&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Clear-Host &amp;nbsp;#Clear the Windows command console screen&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Write-Host &amp;quot;`n`n Invalid input. Please press Enter to try again.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Read-Host &amp;nbsp;#Pause gameplay&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>powershell and VM with hyper-V</title><link>http://powershell.com/cs/forums/thread/22377.aspx</link><pubDate>Sun, 24 Mar 2013 18:15:28 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22377</guid><dc:creator>Yuki</dc:creator><slash:comments>6</slash:comments><comments>http://powershell.com/cs/forums/thread/22377.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22377</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have windows server 2012 installed, I created a vm in order to configure a web server.&lt;/p&gt;
&lt;p&gt;I would like to create a script using power shell to configure the iis. But I wandering if it s possible to launch the script in my host OS and so the script activates the iis in the vm.&lt;/p&gt;
&lt;p&gt;Or maybe I could launch a script in my host, which will run another script in my vm, and so the second script will configure the iis.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks and sorry for my english...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>NTFS Permissions</title><link>http://powershell.com/cs/forums/thread/7915.aspx</link><pubDate>Wed, 20 Oct 2010 11:00:28 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:7915</guid><dc:creator>Möhnle, Christian</dc:creator><slash:comments>5</slash:comments><comments>http://powershell.com/cs/forums/thread/7915.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=7915</wfw:commentRss><description>&lt;p&gt;How can I set filesystem-permissions (NTFS) ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Need help on output</title><link>http://powershell.com/cs/forums/thread/22105.aspx</link><pubDate>Mon, 11 Mar 2013 23:54:04 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22105</guid><dc:creator>jbvu2k</dc:creator><slash:comments>12</slash:comments><comments>http://powershell.com/cs/forums/thread/22105.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22105</wfw:commentRss><description>&lt;p&gt;I have a script below to gather Driver Name and Version from a conputer list but can&amp;#39;t seem to get the output format I wanted in either excel or html format below&lt;/p&gt;
&lt;p&gt;DriverNamame&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Computer1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Computer2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Computer3&lt;/p&gt;
&lt;p&gt;WAN miniport&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.1.7600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.1.7601&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.1.7601&lt;/p&gt;
&lt;p&gt;Microsoft ISATAP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.1.7600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.1.7600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;----------&amp;nbsp; or Not Installed&lt;/p&gt;
&lt;p&gt;My script is below ------------------------------&lt;/p&gt;
&lt;p&gt;function Get-Driver {&lt;br /&gt;&amp;lt;#&lt;/p&gt;
&lt;p&gt;#&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; [CmdletBinding()]&lt;br /&gt;&amp;nbsp;&amp;nbsp; [OutputType([int])]&lt;br /&gt;&amp;nbsp;&amp;nbsp; Param&lt;br /&gt;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(Mandatory=$true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ValueFromPipeline=$true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ValueFromPipelineByPropertyName=$true,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Position=0)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $computer&lt;br /&gt;&amp;nbsp;&amp;nbsp; )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; Begin&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; Process&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $win32_PnpSignedDriver = @(get-wmiobject -class &amp;lsquo;Win32_PnpSignedDriver&amp;rsquo; -computer $computer)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($drv in $win32_PnpSignedDriver){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Drivers = New-Object PSObject -Property @{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Class = $drv.DeviceClass&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = $drv.DeviceName&lt;br /&gt;&amp;nbsp; Version = $drv.DriverVersion&lt;br /&gt;&amp;nbsp; Description = $drv.Description&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Output $Drivers |sort class| Select-Object Class, Name, Version&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; End&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;$DrvVer = @()&lt;br /&gt;$computers = get-content c:\Computerlist.txt&lt;/p&gt;
&lt;p&gt;foreach ($computer in $computers)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach ($InstDrv in (Get-Driver -computer $computers | where {$_.class -match &amp;quot;NET&amp;quot;}| Select Name,Version))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$drv = New-Object System.Object&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$drv | Add-Member -type NoteProperty -name &amp;quot;Server&amp;quot; -value $computer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$drv | Add-Member -type NoteProperty -name &amp;quot;DrvName&amp;quot; -value $InstDrv.Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$drv | Add-Member -type NoteProperty -name &amp;quot;DrvVersion&amp;quot; -value $InstDrv.Version&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$DrvVer += $drv&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Add-Printerdriver with INF-Path</title><link>http://powershell.com/cs/forums/thread/22226.aspx</link><pubDate>Tue, 19 Mar 2013 09:56:52 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:22226</guid><dc:creator>lgieske</dc:creator><slash:comments>2</slash:comments><comments>http://powershell.com/cs/forums/thread/22226.aspx</comments><wfw:commentRss>http://powershell.com/cs/forums/commentrss.aspx?SectionID=200&amp;PostID=22226</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;i&amp;acute;m currently writing a powershell script to automate print queues, printers, ports...&lt;/p&gt;
&lt;p&gt;All works fine, but the following cmdlet not:&lt;/p&gt;
&lt;p&gt;Add-PrinterDriver -Name &amp;quot;Testprinter&amp;quot; -InfPath &amp;quot;c:\lexmark\kpdl\oemsetup.inf&amp;quot;&lt;/p&gt;
&lt;p&gt;When i drop the InfPath-Parameter, the script works. But with infpath-parameter an error appears: at least one parameter has an invalid value. I tried various version to define the infpath. Nothing works.&lt;/p&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>