{"id":1771,"date":"2016-04-27T17:51:18","date_gmt":"2016-04-27T17:51:18","guid":{"rendered":"http:\/\/www.jaaronanderson.com\/blog\/?p=1771"},"modified":"2017-05-11T15:55:30","modified_gmt":"2017-05-11T15:55:30","slug":"powershell-3-0-for-administrators","status":"publish","type":"post","link":"http:\/\/www.jaaronanderson.com\/blog\/powershell-3-0-for-administrators\/","title":{"rendered":"PowerShell for Administrators"},"content":{"rendered":"<p>ref. Joe Dow<\/p>\n<p>run \\windows powershell ISE\u00a0 as Admininstrator &#8230;<\/p>\n<p>goto cmd and<\/p>\n<p>get-service -name &#8220;*net*&#8221;<\/p>\n<p>get-service | out-file c:\\services.txt<\/p>\n<p>get-help Get-Service -examples &#8230; get-service could be any &#8220;commandlet&#8221;<br \/>\ndont like seeing help in command prompt ? -online to see in the browser<\/p>\n<p>this code is case insensitive<\/p>\n<p>get-help get-childitem -full look for alias names under NOTES<\/p>\n<p>get-service | where-object {$_.status -eq &#8220;stopped&#8221;}<\/p>\n<p>| get-member<\/p>\n<p>&gt; function add [ENTER]<br \/>\n&gt;&gt;&gt; {<br \/>\n&gt;&gt;&gt; $add = [int] (2+2)<br \/>\n&gt;&gt;&gt; write-output &#8220;$add&#8221;<br \/>\n&gt;&gt;&gt; }<br \/>\nadd<br \/>\nwill return result<\/p>\n<p>-WhatIf and -Confirm<br \/>\nGet-Service | Stop-Service -confirm \/\/ this will toggle every running service<\/p>\n<p>ISE integrated scripting environment, then goto Add-ons and add to view &#8220;command add-ons&#8221;<\/p>\n<p>running Remote Powershell Tab in ISE great tool to take advantage of<\/p>\n<h4>working with output<\/h4>\n<p>get-service | sort-object -property status | format-list displayname, status, required<\/p>\n<p>out-file c:\\result.txt<\/p>\n<p>export-csv c:\\result.txt<\/p>\n<h4>grid view to preview filterings<\/h4>\n<p>&#8230; | out-gridview \/\/or to table format<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4>Availability Monitoring<\/h4>\n<pre class=\"powershell\"><span class=\"powerShell__com\">##############################################################################<\/span>\u00a0\r\n<span class=\"powerShell__com\">##<\/span>\u00a0\r\n<span class=\"powerShell__com\">##\u00a0Website\u00a0Availability\u00a0Monitoring<\/span>\u00a0\r\n<span class=\"powerShell__com\">##\u00a0Created\u00a0by\u00a0Sravan\u00a0Kumar\u00a0S\u00a0<\/span>\u00a0\r\n<span class=\"powerShell__com\">##\u00a0Date\u00a0:\u00a025\u00a0Apr\u00a02013<\/span>\u00a0\r\n<span class=\"powerShell__com\">##\u00a0Version\u00a0:\u00a01.0<\/span>\u00a0\r\n<span class=\"powerShell__com\">##\u00a0Email:\u00a0sravankumar.s@outlook.com\u00a0\u00a0<\/span>\u00a0\r\n<span class=\"powerShell__com\">##############################################################################<\/span>\u00a0\r\n\u00a0\r\n\u00a0\r\n<span class=\"powerShell__com\">##\u00a0The\u00a0URI\u00a0list\u00a0to\u00a0test<\/span>\u00a0\r\n<span class=\"powerShell__variable\">$URLListFile<\/span>\u00a0=\u00a0<span class=\"powerShell__string\">\"D:\\URLList.txt\"<\/span>\u00a0\u00a0\r\n<span class=\"powerShell__variable\">$URLList<\/span>\u00a0=\u00a0<span class=\"powerShell__cmdlets\">Get-Content<\/span>\u00a0<span class=\"powerShell__variable\">$URLListFile<\/span>\u00a0<span class=\"powerShell__operator\">-<\/span>ErrorAction\u00a0SilentlyContinue\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$Result<\/span>\u00a0=\u00a0@()\u00a0\r\n\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__keyword\">Foreach<\/span>(<span class=\"powerShell__variable\">$Uri<\/span>\u00a0<span class=\"powerShell__keyword\">in<\/span>\u00a0<span class=\"powerShell__variable\">$URLList<\/span>)\u00a0{\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$time<\/span>\u00a0=\u00a0<span class=\"powerShell__keyword\">try<\/span>{\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$request<\/span>\u00a0=\u00a0<span class=\"powerShell__variable\">$null<\/span>\u00a0\r\n\u00a0\u00a0\u00a0<span class=\"powerShell__com\">##\u00a0Request\u00a0the\u00a0URI,\u00a0and\u00a0measure\u00a0how\u00a0long\u00a0the\u00a0response\u00a0took.<\/span>\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$result1<\/span>\u00a0=\u00a0<span class=\"powerShell__cmdlets\">Measure-Command<\/span>\u00a0{\u00a0<span class=\"powerShell__variable\">$request<\/span>\u00a0=\u00a0Invoke<span class=\"powerShell__operator\">-<\/span>WebRequest\u00a0<span class=\"powerShell__operator\">-<\/span>Uri\u00a0<span class=\"powerShell__variable\">$uri<\/span>\u00a0}\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$result1<\/span>.TotalMilliseconds\u00a0\r\n\u00a0\u00a0}\u00a0\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__keyword\">catch<\/span>\u00a0\r\n\u00a0\u00a0{\u00a0\r\n\u00a0\u00a0\u00a0<span class=\"powerShell__mlcom\">&lt;#\u00a0If\u00a0the\u00a0request\u00a0generated\u00a0an\u00a0exception\u00a0(i.e.:\u00a0500\u00a0server\u00a0\r\n\u00a0\u00a0\u00a0error\u00a0or\u00a0404\u00a0not\u00a0found),\u00a0we\u00a0can\u00a0pull\u00a0the\u00a0status\u00a0code\u00a0from\u00a0the\u00a0\r\n\u00a0\u00a0\u00a0Exception.Response\u00a0property\u00a0#&gt;<\/span>\u00a0\r\n\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$request<\/span>\u00a0=\u00a0<span class=\"powerShell__variable\">$_<\/span>.Exception.Response\u00a0\r\n\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$time<\/span>\u00a0=\u00a0<span class=\"powerShell__operator\">-<\/span>1\u00a0\r\n\u00a0\u00a0}\u00a0\u00a0\u00a0\r\n\u00a0\u00a0<span class=\"powerShell__variable\">$result<\/span>\u00a0<span class=\"powerShell__operator\">+<\/span>=\u00a0[PSCustomObject]\u00a0@{\u00a0\r\n\u00a0\u00a0Time\u00a0=\u00a0<span class=\"powerShell__cmdlets\">Get-Date<\/span>;\u00a0\r\n\u00a0\u00a0Uri\u00a0=\u00a0<span class=\"powerShell__variable\">$uri<\/span>;\u00a0\r\n\u00a0\u00a0StatusCode\u00a0=\u00a0[int]\u00a0<span class=\"powerShell__variable\">$request<\/span>.StatusCode;\u00a0\r\n\u00a0\u00a0StatusDescription\u00a0=\u00a0<span class=\"powerShell__variable\">$request<\/span>.StatusDescription;\u00a0\r\n\u00a0\u00a0ResponseLength\u00a0=\u00a0<span class=\"powerShell__variable\">$request<\/span>.RawContentLength;\u00a0\r\n\u00a0\u00a0TimeTaken\u00a0=\u00a0\u00a0<span class=\"powerShell__variable\">$time<\/span>;\u00a0\u00a0\r\n\u00a0\u00a0}\u00a0\r\n\u00a0\r\n}\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__com\">#Prepare\u00a0email\u00a0body\u00a0in\u00a0HTML\u00a0format<\/span>\u00a0\r\n<span class=\"powerShell__keyword\">if<\/span>(<span class=\"powerShell__variable\">$result<\/span>\u00a0<span class=\"powerShell__operator\">-<\/span>ne\u00a0<span class=\"powerShell__variable\">$null<\/span>)\u00a0\r\n{\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0=\u00a0<span class=\"powerShell__string\">\"&lt;HTML&gt;&lt;TITLE&gt;Website\u00a0Availability\u00a0Report&lt;\/TITLE&gt;&lt;BODY\u00a0background-color:peachpuff&gt;&lt;font\u00a0color\u00a0=\"<\/span><span class=\"powerShell__string\">\"#99000\"<\/span><span class=\"powerShell__string\">\"\u00a0face=\"<\/span><span class=\"powerShell__string\">\"Microsoft\u00a0Tai\u00a0le\"<\/span><span class=\"powerShell__string\">\"&gt;&lt;H2&gt;\u00a0Website\u00a0Availability\u00a0Report\u00a0&lt;\/H2&gt;&lt;\/font&gt;&lt;Table\u00a0border=1\u00a0cellpadding=0\u00a0cellspacing=0&gt;&lt;TR\u00a0bgcolor=gray\u00a0align=center&gt;&lt;TD&gt;&lt;B&gt;URL&lt;\/B&gt;&lt;\/TD&gt;&lt;TD&gt;&lt;B&gt;StatusCode&lt;\/B&gt;&lt;\/TD&gt;&lt;TD&gt;&lt;B&gt;StatusDescription&lt;\/B&gt;&lt;\/TD&gt;&lt;TD&gt;&lt;B&gt;ResponseLength&lt;\/B&gt;&lt;\/TD&gt;&lt;TD&gt;&lt;B&gt;TimeTaken&lt;\/B&gt;&lt;\/TD&lt;\/TR&gt;\"<\/span>\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__keyword\">Foreach<\/span>(<span class=\"powerShell__variable\">$Entry<\/span>\u00a0<span class=\"powerShell__keyword\">in<\/span>\u00a0<span class=\"powerShell__variable\">$Result<\/span>)\u00a0\r\n\u00a0\u00a0\u00a0\u00a0{\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__keyword\">if<\/span>(<span class=\"powerShell__variable\">$Entry<\/span>.StatusCode\u00a0<span class=\"powerShell__operator\">-<\/span>ne\u00a0<span class=\"powerShell__string\">\"200\"<\/span>)\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0<span class=\"powerShell__operator\">+<\/span>=\u00a0<span class=\"powerShell__string\">\"&lt;TR\u00a0bgcolor=red&gt;\"<\/span>\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__keyword\">else<\/span>\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0<span class=\"powerShell__operator\">+<\/span>=\u00a0<span class=\"powerShell__string\">\"&lt;TR&gt;\"<\/span>\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0<span class=\"powerShell__operator\">+<\/span>=\u00a0<span class=\"powerShell__string\">\"&lt;TD&gt;$($Entry.uri)&lt;\/TD&gt;&lt;TD\u00a0align=center&gt;$($Entry.StatusCode)&lt;\/TD&gt;&lt;TD\u00a0align=center&gt;$($Entry.StatusDescription)&lt;\/TD&gt;&lt;TD\u00a0align=center&gt;$($Entry.ResponseLength)&lt;\/TD&gt;&lt;TD\u00a0align=center&gt;$($Entry.timetaken)&lt;\/TD&gt;&lt;\/TR&gt;\"<\/span>\u00a0\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0<span class=\"powerShell__operator\">+<\/span>=\u00a0<span class=\"powerShell__string\">\"&lt;\/Table&gt;&lt;\/BODY&gt;&lt;\/HTML&gt;\"<\/span>\u00a0\r\n}\u00a0\r\n\u00a0\r\n<span class=\"powerShell__variable\">$Outputreport<\/span>\u00a0<span class=\"powerShell__operator\">|<\/span>\u00a0out<span class=\"powerShell__operator\">-<\/span>file\u00a0C:\\Scripts\\Test.htm\u00a0\r\n<span class=\"powerShell__cmdlets\">Invoke-Expression<\/span>\u00a0C:\\Scripts\\Test.htm<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ref. Joe Dow run \\windows powershell ISE\u00a0 as Admininstrator &#8230; goto cmd and get-service -name &#8220;*net*&#8221; get-service | out-file c:\\services.txt get-help Get-Service -examples &#8230; get-service could be any &#8220;commandlet&#8221; dont like seeing help in command prompt ? -online to see in the browser this code is case insensitive get-help get-childitem -full look for alias names [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-1771","post","type-post","status-publish","format-standard","hentry","category-introspection"],"_links":{"self":[{"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/posts\/1771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/comments?post=1771"}],"version-history":[{"count":10,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/posts\/1771\/revisions"}],"predecessor-version":[{"id":1925,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/posts\/1771\/revisions\/1925"}],"wp:attachment":[{"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/media?parent=1771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/categories?post=1771"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.jaaronanderson.com\/blog\/wp-json\/wp\/v2\/tags?post=1771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}