<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Isaac&#039;s Blog &#187; PowerShell</title>
	<atom:link href="http://blog.isaacblum.com/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.isaacblum.com</link>
	<description>So Many Rambles So Little Time....</description>
	<lastBuildDate>Wed, 28 Dec 2011 21:10:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Enable PowerShell Remoting</title>
		<link>http://blog.isaacblum.com/2011/11/07/enable-powershell-remoting/</link>
		<comments>http://blog.isaacblum.com/2011/11/07/enable-powershell-remoting/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 22:27:03 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Remoting]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=682</guid>
		<description><![CDATA[Enable is the first PS command. The second is used if you would like to use CredSSP creds. Clicking the links will take you to the Technet article. Enable-PsRemoting -Force Enable-WSManCredSSP]]></description>
			<content:encoded><![CDATA[<p>Enable is the first PS command. The second is used if you would like to use CredSSP creds. Clicking the links will take you to the Technet article.</p>
<p><a href="http://technet.microsoft.com/en-us/library/dd819469.aspx" target="_blank"><em>Enable-PsRemoting -Force</em><br />
</a></p>
<p><a href="http://technet.microsoft.com/en-us/library/dd819469.aspx" target="_blank">Enable-WSManCredSSP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/11/07/enable-powershell-remoting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPFileCollection Class &#8211; copy files to another document library</title>
		<link>http://blog.isaacblum.com/2011/10/04/spfilecollection-class-copy-files-to-another-document-library/</link>
		<comments>http://blog.isaacblum.com/2011/10/04/spfilecollection-class-copy-files-to-another-document-library/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 18:41:22 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[copy files to another document library]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SPFileCollection]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=675</guid>
		<description><![CDATA[Original Post: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection.aspx **Please note** I didn&#8217;t attempt to &#8220;dispose&#8221;, so make sure to add it&#8230; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $PSSnapin = Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue &#124; Out-Null clear &#160; $org = &#34;http://blueleader&#34; $dest = &#34;http://redleader&#34; &#160; $orgLibrary = &#40;Get-SPWeb $org&#41;.Folders&#91;&#34;Documents&#34;&#93; $destLibrary = &#40;Get-SPWeb $dest&#41;.Folders&#91;&#34;Documents&#34;&#93; $destFiles = $destLibrary.Files foreach [...]]]></description>
			<content:encoded><![CDATA[<p>Original Post: <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection.aspx">http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection.aspx</a></p>
<p>**Please note** I didn&#8217;t attempt to &#8220;dispose&#8221;, so make sure to add it&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$PSSnapin</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Add-PsSnapin</span> Microsoft.SharePoint.PowerShell <span style="color: #008080; font-style: italic;">-ErrorAction</span> SilentlyContinue <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
<span style="color: #008080; font-weight: bold;">clear</span>
&nbsp;
<span style="color: #800080;">$org</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;http://blueleader&quot;</span>
<span style="color: #800080;">$dest</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;http://redleader&quot;</span>
&nbsp;
<span style="color: #800080;">$orgLibrary</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPWeb <span style="color: #800080;">$org</span><span style="color: #000000;">&#41;</span>.Folders<span style="color: #000000;">&#91;</span><span style="color: #800000;">&quot;Documents&quot;</span><span style="color: #000000;">&#93;</span>
<span style="color: #800080;">$destLibrary</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPWeb <span style="color: #800080;">$dest</span><span style="color: #000000;">&#41;</span>.Folders<span style="color: #000000;">&#91;</span><span style="color: #800000;">&quot;Documents&quot;</span><span style="color: #000000;">&#93;</span>
<span style="color: #800080;">$destFiles</span> <span style="color: pink;">=</span> <span style="color: #800080;">$destLibrary</span>.Files
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$file</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$orgLibrary</span>.Files<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #800080;">$curFile</span> <span style="color: pink;">=</span> <span style="color: #800080;">$file</span>.OpenBinary<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #800080;">$destURL</span> <span style="color: pink;">=</span> <span style="color: #800080;">$destFiles</span>.Folder.Url <span style="color: pink;">+</span> <span style="color: #800000;">&quot;/&quot;</span> <span style="color: pink;">+</span> <span style="color: #800080;">$file</span>.Name
	<span style="color: #800080;">$destFiles</span>.Add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$destURL</span><span style="color: pink;">,</span> <span style="color: #800080;">$curFile</span><span style="color: pink;">,</span> <span style="color: #800080;">$true</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/10/04/spfilecollection-class-copy-files-to-another-document-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best PowerShell Scripting Tool &#8211; PowerGUI</title>
		<link>http://blog.isaacblum.com/2011/08/24/best-powershell-scripting-tool-powergui/</link>
		<comments>http://blog.isaacblum.com/2011/08/24/best-powershell-scripting-tool-powergui/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 23:17:47 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[ISE]]></category>
		<category><![CDATA[PowerGUI]]></category>
		<category><![CDATA[PowerShell ISE]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=671</guid>
		<description><![CDATA[It has come to my attention that there is still a handful of folks out there writing PowerShell with NOTEPAD…. I won’t name names… But you all know who you are. Anyway I use a free tool from Quest software called PowerGUI. See the link to the latest build http://community-downloads.quest.com/powergui/Release/3.0/PowerGUI.3.0.0.2015.msi or http://powergui.org This is the tool [...]]]></description>
			<content:encoded><![CDATA[<p>It has come to my attention that there is still a handful of folks out there writing PowerShell with NOTEPAD…. I won’t name names… But you all know who you are. <img src='http://blog.isaacblum.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://blog.isaacblum.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway I use a free tool from Quest software called PowerGUI. See the link to the latest build <a title="PowerGUI 3.0" href="http://community-downloads.quest.com/powergui/Release/3.0/PowerGUI.3.0.0.2015.msi " target="_blank">http://community-downloads.quest.com/powergui/Release/3.0/PowerGUI.3.0.0.2015.msi </a>or <a title="PowerGUI" href="http://powergui.org" target="_blank">http://powergui.org</a> This is the tool that you “never leave home without”. It’s just like visual studio in the sense that you can step into code and debug variables, for each loops, you name it, it can do it. Please let me know if you have any questions.</p>
<p>BTW, a solid second place winner is&#8230; Microsoft Windows PowerShell ISE <a title="PowerShell ISE" href="http://technet.microsoft.com/en-us/library/dd315244.aspx" target="_blank">http://technet.microsoft.com/en-us/library/dd315244.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/08/24/best-powershell-scripting-tool-powergui/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PowerShell Install Multiple WSPs</title>
		<link>http://blog.isaacblum.com/2011/08/19/powershell-install-multiple-wsps/</link>
		<comments>http://blog.isaacblum.com/2011/08/19/powershell-install-multiple-wsps/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 22:23:18 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[enumerate]]></category>
		<category><![CDATA[Multiple]]></category>
		<category><![CDATA[WSP]]></category>
		<category><![CDATA[WSPs]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=641</guid>
		<description><![CDATA[The script enumerates a folder structure based off the input section of the PowerShell script. It then detects all .wsp files in any folder at the root of the folder and below. Once the list of files is compiled by PowerShell, it begins to either upgrade or installs each detected wsp. The script has a [...]]]></description>
			<content:encoded><![CDATA[<p>The script enumerates a folder structure based off the input section of the PowerShell script. It then detects all .wsp files in any folder at the root of the folder and below. Once the list of files is compiled by PowerShell, it begins to either upgrade or installs each detected wsp. The script has a bit of logic when attempting an install or upgrade. If the PowerShell script detects that the solution is already deployed to the farm, it will first attempt to retract the solution, once completed it then removes the solution before it attempts to install and deploys the feature to all web applications.</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;">######################################</span>
<span style="color: #008000;">######## Set Variables ###############</span>
<span style="color: #008000;">######################################</span>
<span style="color: #800080;">$InstallDIR</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\install&quot;</span>
&nbsp;
<span style="color: #008000;">######################################</span>
<span style="color: #008000;">#### CODE, No Changes Necessary ######</span>
<span style="color: #008000;">######################################</span>
<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Working, Please wait....&quot;</span>
<span style="color: #008080; font-weight: bold;">Add-PSSnapin</span> microsoft.sharepoint.powershell <span style="color: #008080; font-style: italic;">-ErrorAction</span> SilentlyContinue
&nbsp;
<span style="color: #800080;">$Dir</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">get-childitem</span> <span style="color: #800080;">$InstallDIR</span> <span style="color: #008080; font-style: italic;">-Recurse</span>
<span style="color: #800080;">$WSPList</span> <span style="color: pink;">=</span> <span style="color: #800080;">$Dir</span> <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*.wsp*&quot;</span><span style="color: #000000;">&#125;</span>
<span style="color: #0000FF;">Foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$wsp</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$WSPList</span> <span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #800080;">$WSPFullFileName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$wsp</span>.FullName
	<span style="color: #800080;">$WSPFileName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$wsp</span>.Name
	<span style="color: #008080; font-weight: bold;">clear</span>
	<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #008080; font-style: italic;">-BackgroundColor</span> Blue <span style="color: #800000;">&quot;Working on $WSPFileName&quot;</span> 
&nbsp;
	try
	<span style="color: #000000;">&#123;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Checking Status of Solution&quot;</span>
		<span style="color: #800080;">$output</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800080;">$WSPFileName</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop
	<span style="color: #000000;">&#125;</span>
	Catch
	<span style="color: #000000;">&#123;</span>
		<span style="color: #800080;">$DoesSolutionExists</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$DoesSolutionExists</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*Cannot find an SPSolution*&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-and</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$output</span>.Name <span style="color: #FF0000;">-notlike</span>  <span style="color: #800000;">&quot;*$WSPFileName*&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		Try
		<span style="color: #000000;">&#123;</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Adding solution to farm&quot;</span>
			Add<span style="color: pink;">-</span>SPSolution <span style="color: #800000;">&quot;$WSPFullFileName&quot;</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
&nbsp;
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Checking Status of Solution&quot;</span>
			<span style="color: #800080;">$output</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800080;">$WSPFileName</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop
			<span style="color: #800080;">$gobal</span> <span style="color: pink;">=</span> <span style="color: #800080;">$null</span>
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$output</span>.Deployed <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				try
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Deploy solution to all Web Apps, will skip if this solution is globally deployed&quot;</span>
					Install<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800000;">&quot;$WSPFileName&quot;</span> <span style="color: pink;">-</span>GACDeployment <span style="color: pink;">-</span>AllWebApplications <span style="color: #008080; font-style: italic;">-Force</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
				<span style="color: #000000;">&#125;</span>
				Catch
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$gobal</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$gobal</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*This solution contains*&quot;</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Solution requires global deployment, Deploying now&quot;</span>
					Install<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800000;">&quot;$WSPFileName&quot;</span> <span style="color: pink;">-</span>GACDeployment <span style="color: #008080; font-style: italic;">-Force</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
				<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #008080; font-weight: bold;">Sleep</span> <span style="color: #804000;">1</span>
			<span style="color: #800080;">$dpjobs</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPTimerJob <span style="color: pink;">|</span> <span style="color: #0000FF;">Where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*$WSPFileName*&quot;</span> <span style="color: #000000;">&#125;</span>
			<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
    		<span style="color: #000000;">&#123;</span>
        		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;No solution deployment jobs found&quot;</span>
    		<span style="color: #000000;">&#125;</span>
			<span style="color: #0000FF;">Else</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-is</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">Array</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #0000FF;">Foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$job</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$dpjobs</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$job</span>.Name
						<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
						<span style="color: #000000;">&#123;</span>
							<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
							<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
						<span style="color: #000000;">&#125;</span>
						<span style="color: #008080; font-weight: bold;">Write-Host</span>
					<span style="color: #000000;">&#125;</span>
				<span style="color: #000000;">&#125;</span>
    			<span style="color: #0000FF;">Else</span>
    			<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$dpjobs</span>.Name
					<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
						<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span>
    			<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		Catch
		<span style="color: #000000;">&#123;</span>
			<span style="color: #008080; font-weight: bold;">Write-Error</span> <span style="color: #000080;">$_</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Red <span style="color: #800000;">&quot;Skipping $WSPFileName, Due to an error&quot;</span>
			<span style="color: #008080; font-weight: bold;">Read-Host</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0000FF;">Else</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #800080;">$skip</span> <span style="color: pink;">=</span> <span style="color: #800080;">$null</span>
		<span style="color: #800080;">$tryagain</span> <span style="color: pink;">=</span> <span style="color: #800080;">$null</span>
		Try
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$output</span>.Deployed <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$true</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Retracting Solution&quot;</span>
			Uninstall<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>AllWebApplications <span style="color: pink;">-</span>Identity <span style="color: #800080;">$WSPFileName</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		Catch
		<span style="color: #000000;">&#123;</span>
			<span style="color: #800080;">$tryagain</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>
		<span style="color: #000000;">&#125;</span>
		Try
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$tryagain</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				Uninstall<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800080;">$WSPFileName</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		Catch
		<span style="color: #000000;">&#123;</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Red <span style="color: #800000;">&quot;Could not Retract Solution&quot;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #008080; font-weight: bold;">Sleep</span> <span style="color: #804000;">1</span>
		<span style="color: #800080;">$dpjobs</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPTimerJob <span style="color: pink;">|</span> <span style="color: #0000FF;">Where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*$WSPFileName*&quot;</span> <span style="color: #000000;">&#125;</span>
		<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
    	<span style="color: #000000;">&#123;</span>
        	<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;No solution deployment jobs found&quot;</span>
    	<span style="color: #000000;">&#125;</span>
		<span style="color: #0000FF;">Else</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-is</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">Array</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">Foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$job</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$dpjobs</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$job</span>.Name
					<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
						<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span>
				<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
    		<span style="color: #0000FF;">Else</span>
    		<span style="color: #000000;">&#123;</span>
				<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$dpjobs</span>.Name
				<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
					<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #008080; font-weight: bold;">Write-Host</span>
    		<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>		
&nbsp;
		Try
		<span style="color: #000000;">&#123;</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Removing Solution from farm&quot;</span>
			Remove<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800080;">$WSPFileName</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop
		<span style="color: #000000;">&#125;</span>
		Catch
		<span style="color: #000000;">&#123;</span>
			<span style="color: #800080;">$skip</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>
			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Red <span style="color: #800000;">&quot;Could not Remove Solution&quot;</span>
			<span style="color: #008080; font-weight: bold;">Read-Host</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$skip</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			Try
			<span style="color: #000000;">&#123;</span>
				<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Adding solution to farm&quot;</span>
				Add<span style="color: pink;">-</span>SPSolution <span style="color: #800000;">&quot;$WSPFullFileName&quot;</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
				<span style="color: #800080;">$gobal</span> <span style="color: pink;">=</span> <span style="color: #800080;">$null</span>
				try
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Deploy solution to all Web Apps, will skip if this solution is globally deployed&quot;</span>
					Install<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800000;">&quot;$WSPFileName&quot;</span> <span style="color: pink;">-</span>GACDeployment <span style="color: pink;">-</span>AllWebApplications <span style="color: #008080; font-style: italic;">-Force</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
				<span style="color: #000000;">&#125;</span>
				Catch
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$gobal</span> <span style="color: pink;">=</span> <span style="color: #000080;">$_</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$gobal</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*This solution contains*&quot;</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;Solution requires global deployment, Deploying now&quot;</span>
					Install<span style="color: pink;">-</span>SPSolution <span style="color: pink;">-</span>Identity <span style="color: #800000;">&quot;$WSPFileName&quot;</span> <span style="color: pink;">-</span>GACDeployment <span style="color: #008080; font-style: italic;">-Force</span> <span style="color: #008080; font-style: italic;">-Confirm</span>:<span style="color: #800080;">$false</span> <span style="color: #008080; font-style: italic;">-ErrorAction</span> Stop <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span>
				<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
			Catch
			<span style="color: #000000;">&#123;</span>
				<span style="color: #008080; font-weight: bold;">Write-Error</span> <span style="color: #000080;">$_</span>
				<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Red <span style="color: #800000;">&quot;Skipping $WSPFileName, Due to an error&quot;</span>
				<span style="color: #008080; font-weight: bold;">Read-Host</span>
			<span style="color: #000000;">&#125;</span>
&nbsp;
			<span style="color: #008080; font-weight: bold;">Sleep</span> <span style="color: #804000;">1</span>
			<span style="color: #800080;">$dpjobs</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPTimerJob <span style="color: pink;">|</span> <span style="color: #0000FF;">Where</span> <span style="color: #000000;">&#123;</span> <span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*$WSPFileName*&quot;</span> <span style="color: #000000;">&#125;</span>
			<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
    		<span style="color: #000000;">&#123;</span>
        		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Green <span style="color: #800000;">&quot;No solution deployment jobs found&quot;</span>
    		<span style="color: #000000;">&#125;</span>
			<span style="color: #0000FF;">Else</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$dpjobs</span> <span style="color: #FF0000;">-is</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">Array</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #0000FF;">Foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$job</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$dpjobs</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$job</span>.Name
						<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
						<span style="color: #000000;">&#123;</span>
							<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
							<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
						<span style="color: #000000;">&#125;</span>
						<span style="color: #008080; font-weight: bold;">Write-Host</span>
					<span style="color: #000000;">&#125;</span>
				<span style="color: #000000;">&#125;</span>
    			<span style="color: #0000FF;">Else</span>
    			<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$jobName</span> <span style="color: pink;">=</span> <span style="color: #800080;">$dpjobs</span>.Name
					<span style="color: #0000FF;">While</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>SPTimerJob <span style="color: #800080;">$jobName</span> <span style="color: #008080; font-style: italic;">-Debug</span>:<span style="color: #800080;">$false</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Yellow <span style="color: #008080; font-style: italic;">-NoNewLine</span> <span style="color: #800000;">&quot;.&quot;</span>
						<span style="color: #008080; font-weight: bold;">Start-Sleep</span> <span style="color: #008080; font-style: italic;">-Seconds</span> <span style="color: #804000;">5</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #008080; font-weight: bold;">Write-Host</span>
    			<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0000FF;">Else</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> Red <span style="color: #800000;">&quot;Cannot Install $WSPFileName, Please try manually&quot;</span>
		<span style="color: #008080; font-weight: bold;">Read-Host</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/08/19/powershell-install-multiple-wsps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enumerate site / web permission per web application PowerShell Script</title>
		<link>http://blog.isaacblum.com/2011/07/05/enumerate-site-web-permission-per-web-application-powershell-script/</link>
		<comments>http://blog.isaacblum.com/2011/07/05/enumerate-site-web-permission-per-web-application-powershell-script/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 21:33:43 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[enumerate]]></category>
		<category><![CDATA[PowerShell Script]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[web permission]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=630</guid>
		<description><![CDATA[Use case: Needed to understand the current security layout of a SharePoint site that was migrated from 2007 to 2010. The customer didn’t know what permissions were set where. They needed a way to report on how each site was granting or restricting permissions. *Notes: I’m not disposing of any objects. Sure I understand this [...]]]></description>
			<content:encoded><![CDATA[<p>Use case: Needed to understand the current security layout of a SharePoint site that was migrated from 2007 to 2010. The customer didn’t know what permissions were set where. They needed a way to report on how each site was granting or restricting permissions.</p>
<p>*Notes:</p>
<ul>
<li>I’m not disposing of any objects. Sure I understand this is bad, but the intention of this script is to be run one time in a test environment. So if you plan on running this in production, I would suggest adding the dispose objects.</li>
<li>Script is set to put the raw xml file at the C:\, you change this in the .ps1 file.</li>
<li>Runs against all web applications in farm minus central admin.</li>
</ul>
<div><a href="http://blog.isaacblum.com/wp-content/uploads/2011/07/Screenshot-1.png"><img class="alignnone size-full wp-image-632" title="Screenshot-1" src="http://blog.isaacblum.com/wp-content/uploads/2011/07/Screenshot-1.png" alt="" width="1210" height="577" /></a></div>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$logfilepath</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\&quot;</span>
&nbsp;
<span style="color: #008000;">##Create Table - ScanTable</span>
<span style="color: #800080;">$ScanTable</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataTable <span style="color: #800000;">&quot;ScanTable&quot;</span>
<span style="color: #800080;">$col1</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;URL&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$col2</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;Member&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$col3</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;BasePermissions&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$col4</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;PermFriendlyName&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$col5</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;User_Group&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col1</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col2</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col3</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col4</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col5</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #800080;">$PermLevels</span> <span style="color: pink;">=</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span><span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0000FF;">function</span> getsec
<span style="color: #000000;">&#123;</span>
	<span style="color: #008080; font-weight: bold;">Add-PSSnapin</span> microsoft.sharepoint.powershell <span style="color: #008080; font-style: italic;">-ErrorAction</span> SilentlyContinue
&nbsp;
	<span style="color: #800080;">$PortalName</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPWebApplication <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">select</span> DisplayName
	<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$p</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$PortalName</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #800080;">$webapp</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPWebApplication <span style="color: pink;">|</span> <span style="color: pink;">?</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.DisplayName <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$p</span>.Displayname<span style="color: #000000;">&#125;</span>
		<span style="color: #008000;">#$webapp = Get-SPWebApplication | ? {$_.DisplayName -eq &quot;SharePoint&quot;}</span>
		<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$s</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$webapp</span>.Sites<span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$web</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$s</span>.AllWebs<span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#123;</span>
				<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$r</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$web</span>.roles<span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #800080;">$permpermmask</span> <span style="color: pink;">=</span> <span style="color: #800080;">$r</span>.PermissionMask
					<span style="color: #800080;">$permname</span> <span style="color: pink;">=</span> <span style="color: #800080;">$r</span>.Name
					<span style="color: #800080;">$PermLevels</span>.Add<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;$permpermmask&quot;</span><span style="color: pink;">,</span> <span style="color: #800000;">&quot;$permname&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #0000FF;">trap</span> <span style="color: #000000;">&#91;</span>Exception<span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span><span style="color: #0000FF;">continue</span>;<span style="color: #000000;">&#125;</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #800080;">$red</span> <span style="color: pink;">=</span> <span style="color: #800080;">$web</span>.HasUniqueRoleDefinitions
				<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$perm</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$web</span>.Permissions<span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
					<span style="color: #008000;">#$perm | select *</span>
					<span style="color: #008000;">#$perm.PermissionMask</span>
					<span style="color: #800080;">$permpermmaskcurrent</span> <span style="color: pink;">=</span> <span style="color: #800080;">$perm</span>.PermissionMask
					<span style="color: #800080;">$level</span> <span style="color: pink;">=</span> <span style="color: #800080;">$PermLevels</span>.Get_Item<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;$permpermmaskcurrent&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$perm</span>.xml <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*GroupName*&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$usergroup</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;SharePoint Group&quot;</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$perm</span>.xml <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*UserLogin*&quot;</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$usergroup</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;AD User&quot;</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #800080;">$MemberIsADGroup</span> <span style="color: pink;">=</span> <span style="color: #800080;">$perm</span>.Member.IsDomainGroup
					<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$MemberIsADGroup</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$true</span><span style="color: #000000;">&#41;</span>
					<span style="color: #000000;">&#123;</span>
						<span style="color: #800080;">$usergroup</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;AD Group&quot;</span>
					<span style="color: #000000;">&#125;</span>
					<span style="color: #800080;">$output</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ScanTable</span>.Rows.Add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$web</span>.url<span style="color: pink;">,</span> <span style="color: #800080;">$perm</span>.Member<span style="color: pink;">,</span> <span style="color: #800080;">$perm</span>.BasePermissions<span style="color: pink;">,</span> <span style="color: #800080;">$level</span><span style="color: pink;">,</span> <span style="color: #800080;">$usergroup</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #800080;">$ScanTable</span>.WriteXML<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;$logfilepath\SecurityReport.xml&quot;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span>
getsec</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/07/05/enumerate-site-web-permission-per-web-application-powershell-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enable Object Cache All Web Applcations</title>
		<link>http://blog.isaacblum.com/2011/06/28/enable-object-cache-all-web-applcations/</link>
		<comments>http://blog.isaacblum.com/2011/06/28/enable-object-cache-all-web-applcations/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 18:46:25 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[Object Cache]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=627</guid>
		<description><![CDATA[I believe I got the base of this script from the AutoSPInstaller Project on CodePlex. I enhanced it to enable object cache on all web apps. Just fill in your variables on lines 1 and 2. *Note many of my customers tend to create long user names for these two accounts. Make sure to get the Pre-Compatibility 2000 username, [...]]]></description>
			<content:encoded><![CDATA[<p>I believe I got the base of this script from the AutoSPInstaller Project on CodePlex. I enhanced it to enable object cache on all web apps. Just fill in your variables on lines 1 and 2. *Note many of my customers tend to create long user names for these two accounts. Make sure to get the Pre-Compatibility 2000 username, its will be shoter in length than the full username. The script will blow up if you use the longer one. Thanks.</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$SuperUserAcc</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;domain\SPSObjectCacheF&quot;</span>
<span style="color: #800080;">$SuperReaderAcc</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;domain\SPSObjectCacheR&quot;</span>
&nbsp;
<span style="color: #800080;">$PortalName</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPWebApplication <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">select</span> DisplayName
&nbsp;
<span style="color: #0000FF;">function</span> Set<span style="color: pink;">-</span>WebAppUserPolicy<span style="color: #000000;">&#40;</span><span style="color: #800080;">$webApp</span><span style="color: pink;">,</span> <span style="color: #800080;">$userName</span><span style="color: pink;">,</span><span style="color: #800080;">$displayName</span><span style="color: pink;">,</span> <span style="color: #800080;">$perm</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #000000;">&#91;</span>Microsoft.SharePoint.Administration.SPPolicyCollection<span style="color: #000000;">&#93;</span><span style="color: #800080;">$policies</span> <span style="color: pink;">=</span> <span style="color: #800080;">$webApp</span>.Policies
    <span style="color: #000000;">&#91;</span>Microsoft.SharePoint.Administration.SPPolicy<span style="color: #000000;">&#93;</span><span style="color: #800080;">$policy</span> <span style="color: pink;">=</span> <span style="color: #800080;">$policies</span>.Add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$userName</span><span style="color: pink;">,</span> <span style="color: #800080;">$displayName</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#91;</span>Microsoft.SharePoint.Administration.SPPolicyRole<span style="color: #000000;">&#93;</span><span style="color: #800080;">$policyRole</span> <span style="color: pink;">=</span> <span style="color: #800080;">$webApp</span>.PolicyRoles <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$perm</span><span style="color: #000000;">&#125;</span>
    <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$policyRole</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$null</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #800080;">$policy</span>.PolicyRoleBindings.Add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$policyRole</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #800080;">$webApp</span>.Update<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0000FF;">function</span> ConfigureObjectCache
<span style="color: #000000;">&#123;</span>
	<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$p</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$PortalName</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #800080;">$site</span> <span style="color: pink;">=</span> <span style="color: #800080;">$p</span>.DisplayName
		Try
		<span style="color: #000000;">&#123;</span>
   			<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot;- Applying object cache...&quot;</span>
        		<span style="color: #800080;">$webapp</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPWebApplication <span style="color: pink;">|</span> <span style="color: pink;">?</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.DisplayName <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$p</span>.Displayname<span style="color: #000000;">&#125;</span>
&nbsp;
        		<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$webapp</span> <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$Null</span><span style="color: #000000;">&#41;</span>
        		<span style="color: #000000;">&#123;</span>
				<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot; - Applying object cache to $site ...&quot;</span>
           			<span style="color: #800080;">$webapp</span>.Properties<span style="color: #000000;">&#91;</span><span style="color: #800000;">&quot;portalsuperuseraccount&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">=</span> <span style="color: #800080;">$SuperUserAcc</span>
	       			Set<span style="color: pink;">-</span>WebAppUserPolicy <span style="color: #800080;">$webApp</span> <span style="color: #800080;">$SuperUserAcc</span> <span style="color: #800000;">&quot;Super User (Object Cache)&quot;</span>  <span style="color: #800000;">&quot;Full Control&quot;</span>
&nbsp;
           			<span style="color: #800080;">$webapp</span>.Properties<span style="color: #000000;">&#91;</span><span style="color: #800000;">&quot;portalsuperreaderaccount&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: pink;">=</span> <span style="color: #800080;">$SuperReaderAcc</span>
	       			Set<span style="color: pink;">-</span>WebAppUserPolicy <span style="color: #800080;">$webApp</span> <span style="color: #800080;">$SuperReaderAcc</span> <span style="color: #800000;">&quot;Super Reader (Object Cache)&quot;</span> <span style="color: #800000;">&quot;Full Read&quot;</span>
           			<span style="color: #800080;">$webapp</span>.Update<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>        
    	   			<span style="color: #008080; font-weight: bold;">write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot;- Done.&quot;</span>
        		<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		Catch
		<span style="color: #000000;">&#123;</span>
			<span style="color: #000080;">$_</span>
			<span style="color: #008080; font-weight: bold;">Write-Warning</span> <span style="color: #800000;">&quot;- An error occurred applying object cache to portal.&quot;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
ConfigureObjectCache</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/06/28/enable-object-cache-all-web-applcations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing FAST Search keywords, site promotion and demotion, user context</title>
		<link>http://blog.isaacblum.com/2011/04/28/missing-fast-search-keywords-site-promotion-and-demotion-user-context/</link>
		<comments>http://blog.isaacblum.com/2011/04/28/missing-fast-search-keywords-site-promotion-and-demotion-user-context/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 22:00:43 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[FAST]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Keywords]]></category>
		<category><![CDATA[site promotion and demotion]]></category>
		<category><![CDATA[user context]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=606</guid>
		<description><![CDATA[Adding FAST Search to an existing SharePoint 2010 farm, you may notice that your existing site collections do not have &#8220;keywords, site promotion and demotion, user context&#8221; functions in the site collection administration section. Well there is a good reason for that&#8230;. The feature that activates these functions is not enabled. The feature ID is [...]]]></description>
			<content:encoded><![CDATA[<p>Adding FAST Search to an existing SharePoint 2010 farm, you may notice that your existing site collections do not have &#8220;keywords, site promotion and demotion, user context&#8221; functions in the site collection administration section. Well there is a good reason for that&#8230;. The feature that activates these functions is not enabled. The feature ID is &#8220;5EAC763D-FBF5-4d6f-A76B-EDED7DD7B0A5&#8243; . I had seen this behavior in my development environment but never tried to understand why. I would just create a new site collection and boom everything was back to normal. J A quick Google search found this blog. <a href="http://www.neilrichards.net/blog/?p=149">http://www.neilrichards.net/blog/?p=149</a>  so thanks NEIL! </p>
<p><strong>Before</strong></p>
<p><a href="http://blog.isaacblum.com/wp-content/uploads/2011/04/FAST1.png"><img class="alignnone size-full wp-image-607" title="FAST1" src="http://blog.isaacblum.com/wp-content/uploads/2011/04/FAST1.png" alt="" width="683" height="469" /></a></p>
<p><strong>After</strong></p>
<p><strong><a href="http://blog.isaacblum.com/wp-content/uploads/2011/04/FAST2.png"><img class="alignnone size-full wp-image-608" title="FAST2" src="http://blog.isaacblum.com/wp-content/uploads/2011/04/FAST2.png" alt="" width="659" height="443" /></a></strong></p>
<p>The only credit I can take is the PowerShell code below that enumerates through all the web applications and their site collections and activates the feature. Thanks</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;">Start<span style="color: pink;">-</span>SPAssignment <span style="color: pink;">-</span>Global
<span style="color: #800080;">$red</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPWebApplication
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$r</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$red</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #800080;">$rtrim</span> <span style="color: pink;">=</span> <span style="color: #800080;">$r</span>.url
	<span style="color: #800080;">$rurl</span> <span style="color: pink;">=</span> <span style="color: #800080;">$rtrim</span>.trim<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;/&quot;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #800080;">$rurl</span>
	<span style="color: #800080;">$blue</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPSite <span style="color: #800000;">&quot;$rurl(|)&quot;</span> <span style="color: pink;">-</span>Limit All <span style="color: #FF0000;">-regex</span>
	<span style="color: #0000FF;">Foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$b</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$blue</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #800080;">$b</span>.url
		<span style="color: #800080;">$siteWithNoFastFeatures</span> <span style="color: pink;">=</span> get<span style="color: pink;">-</span>SPSite <span style="color: #800080;">$b</span>.url
		<span style="color: #800080;">$siteWithNoFastFeatures</span>.Features.Add<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;5EAC763D-FBF5-4d6f-A76B-EDED7DD7B0A5&quot;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
Stop<span style="color: pink;">-</span>SPAssignment <span style="color: pink;">-</span>Global</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/04/28/missing-fast-search-keywords-site-promotion-and-demotion-user-context/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usage and Health Data Collection Proxy Stopped</title>
		<link>http://blog.isaacblum.com/2011/02/24/usage-and-health-data-collection-proxy-stopped/</link>
		<comments>http://blog.isaacblum.com/2011/02/24/usage-and-health-data-collection-proxy-stopped/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 21:23:17 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[.Provision()]]></category>
		<category><![CDATA[Get-SPServiceApplicationProxy]]></category>
		<category><![CDATA[Usage and Health Data Collection Proxy Stopped]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=473</guid>
		<description><![CDATA[Run these PowerShell Commands: &#160; 1 2 $StartUsageHealthDataCollectionProxy = Get-SPServiceApplicationProxy &#124; ? &#123;$_.TypeName -like &#34;*Usage and Health*&#34;&#125; $StartUsageHealthDataCollectionProxy.Provision&#40;&#41;]]></description>
			<content:encoded><![CDATA[<p>Run these PowerShell Commands:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$StartUsageHealthDataCollectionProxy</span>  <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPServiceApplicationProxy <span style="color: pink;">|</span> <span style="color: pink;">?</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.TypeName <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*Usage and Health*&quot;</span><span style="color: #000000;">&#125;</span>
<span style="color: #800080;">$StartUsageHealthDataCollectionProxy</span>.Provision<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/02/24/usage-and-health-data-collection-proxy-stopped/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove / Delete users from all sites and site collections within a web application.</title>
		<link>http://blog.isaacblum.com/2011/02/24/remove-delete-users-from-all-sites-and-site-collections-within-a-web-application/</link>
		<comments>http://blog.isaacblum.com/2011/02/24/remove-delete-users-from-all-sites-and-site-collections-within-a-web-application/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 16:42:16 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[Remove]]></category>
		<category><![CDATA[Users]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=467</guid>
		<description><![CDATA[A client needed a way to remove old domain users from their SharePoint 2010 farm. There was a company merger and they did not want the old domain users showing in the sites. Enter the root site collection and the search parameter ex: domain and done. ** you might notice a table being created&#8230; I [...]]]></description>
			<content:encoded><![CDATA[<p>A client needed a way to remove old domain users from their SharePoint 2010 farm. There was a company merger and they did not want the old domain users showing in the sites.</p>
<p>Enter the root site collection and the search parameter ex: domain and done.</p>
<p>** you might notice a table being created&#8230; I left this in here, but its not really used. The client had some additional requirements, that I have not included in this script.</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;">## Reference to SharePoint DLL</span>
<span style="color: #000000;">&#91;</span>void<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#91;</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">&#93;</span>::<span style="color: #800000;">LoadWithPartialName</span><span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;Microsoft.SharePoint&quot;</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #008000;">##Ask for WebApp Root url to enumerate or scope scan</span>
<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Please enter root url of WebApplication, ex: http://contoso&quot;</span>
<span style="color: #800080;">$siteurl</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Read-Host</span> <span style="color: #800000;">&quot;Value &quot;</span>
<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Please enter the search parameter, ex: contoso &quot;</span>
<span style="color: #800080;">$searchP</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">Read-Host</span> <span style="color: #800000;">&quot;Value &quot;</span>
&nbsp;
<span style="color: #008000;">##Create Table - ScanTable</span>
<span style="color: #800080;">$ScanTable</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataTable <span style="color: #800000;">&quot;ScanTable&quot;</span>
<span style="color: #800080;">$col1</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;LoginName&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$col2</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> system.Data.DataColumn <span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;URL&quot;</span><span style="color: pink;">,</span> <span style="color: #000000;">&#91;</span><span style="color: #008080;">string</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col1</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$ScanTable</span>.columns.add<span style="color: #000000;">&#40;</span><span style="color: #800080;">$col2</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #008000;">##Returning info for use in remainder of script</span>
<span style="color: #800080;">$webapp</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#91;</span>Microsoft.SharePoint.Administration.SPWebApplication<span style="color: #000000;">&#93;</span>::Lookup<span style="color: #000000;">&#40;</span><span style="color: #800080;">$siteurl</span><span style="color: #000000;">&#41;</span>
<span style="color: #008000;">##Start looping through the sites collections</span>
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$site</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$webapp</span>.Sites<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #800080;">$spSite</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">new-object</span> Microsoft.SharePoint.SPSite<span style="color: #000000;">&#40;</span><span style="color: #800080;">$site</span>.url<span style="color: #000000;">&#41;</span>
	<span style="color: #800080;">$spWeb</span> <span style="color: pink;">=</span> <span style="color: #800080;">$spSite</span>.OpenWeb<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
&nbsp;
	<span style="color: #008000;">##Save file path, guid, and title of each closed webpart</span>
	<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.LoginName <span style="color: #0000FF;">in</span> <span style="color: #800080;">$spSite</span>.RootWeb.SiteUsers <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">select</span> LoginName<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
	<span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.LoginName <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*$searchP*&quot;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
	<span style="color: #800080;">$output</span> <span style="color: pink;">=</span> <span style="color: #800080;">$ScanTable</span>.Rows.Add<span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.LoginName<span style="color: pink;">,</span> <span style="color: #800080;">$site</span>.url<span style="color: #000000;">&#41;</span>
	<span style="color: #800080;">$spWeb</span>.SiteUsers.Remove<span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.LoginName<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #008000;">##Clean Up</span>
    <span style="color: #800080;">$spSite</span>.Dispose<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #800080;">$spWeb</span>.Dispose<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #008000;">##Write txt file</span>
<span style="color: #008080; font-weight: bold;">Write-Output</span> <span style="color: #800080;">$ScanTable</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">select</span> URL <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Sort-Object</span> URL <span style="color: #008080; font-style: italic;">-Unique</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out<span style="color: #FF0000;">-File</span></span> C:users.txt <span style="color: #008080; font-style: italic;">-Append</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/02/24/remove-delete-users-from-all-sites-and-site-collections-within-a-web-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Built-in accounts are used as application pool or service identities.</title>
		<link>http://blog.isaacblum.com/2011/02/21/built-in-accounts-are-used-as-application-pool-or-service-identities/</link>
		<comments>http://blog.isaacblum.com/2011/02/21/built-in-accounts-are-used-as-application-pool-or-service-identities/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 00:24:27 +0000</pubDate>
		<dc:creator>IsaacBlum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[For The Greater Good]]></category>
		<category><![CDATA[Free Help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2010 Foundation]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[application pool]]></category>
		<category><![CDATA[Built-in accounts]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[service identities]]></category>
		<category><![CDATA[SharePoint 2010 Tracing]]></category>
		<category><![CDATA[SPTraceV4]]></category>

		<guid isPermaLink="false">http://blog.isaacblum.com/?p=461</guid>
		<description><![CDATA[By default the SharePoint Trace service runs as local system.This script will fix that.  1. Create a SharePoint 2010 Trace Account. Ex: SPTrace 2. Edit lines 2 and 3 of the PowerShell script. 3. Run script on each server in farm. (not FAST or SQL servers) a. PS C:UsersspinstallDesktop&#62; .TraceAccountFix.ps1 1 2 3 4 5 [...]]]></description>
			<content:encoded><![CDATA[<p>By default the SharePoint Trace service runs as local system.This script will fix that. </p>
<p>1. Create a SharePoint 2010 Trace Account. Ex: SPTrace</p>
<p>2. Edit lines 2 and 3 of the PowerShell script.</p>
<p>3. Run script on each server in farm. (not FAST or SQL servers) a. PS C:UsersspinstallDesktop&gt; .TraceAccountFix.ps1</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;"># Trace Account Details</span>
<span style="color: #800080;">$TraceAccount</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;DomainSPTrace&quot;</span>
<span style="color: #800080;">$TraceAcctPWD</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;Enter The password here&quot;</span>
<span style="color: #800080;">$SecTraceAcctPWD</span> <span style="color: pink;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #008080; font-weight: bold;">ConvertTo-SecureString</span> <span style="color: #800080;">$TraceAcctPWD</span> <span style="color: #008080; font-style: italic;">-AsPlainText</span> <span style="color: #008080; font-style: italic;">-force</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #008000;"># Formatting</span>
<span style="color: #800080;">$TraceAccountDomain</span><span style="color: pink;">,</span><span style="color: #800080;">$TraceAccountUser</span> <span style="color: pink;">=</span> <span style="color: #800080;">$TraceAccount</span> <span style="color: pink;">-</span>Split <span style="color: #800000;">&quot;\&quot;</span>
&nbsp;
<span style="color: #008000;"># Get the tracing service.</span>
<span style="color: #800080;">$farm</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPFarm
<span style="color: #800080;">$tracingService</span> <span style="color: pink;">=</span> <span style="color: #800080;">$farm</span>.Services <span style="color: pink;">|</span> <span style="color: #0000FF;">where</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Name <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;SPTraceV4&quot;</span><span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #800080;">$Cred_TraceAcct</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">New-Object</span> System.Management.Automation.PsCredential <span style="color: #800080;">$TraceAccount</span><span style="color: pink;">,</span><span style="color: #800080;">$SecTraceAcctPWD</span>
&nbsp;
<span style="color: #008000;">## Add Managed Account for Trace Account</span>
<span style="color: #800080;">$ManagedAccountTrace</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPManagedAccount <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Where-Object</span> <span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.UserName <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$TraceAccount</span><span style="color: #000000;">&#125;</span>
<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$ManagedAccountTrace</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$NULL</span><span style="color: #000000;">&#41;</span> 
<span style="color: #000000;">&#123;</span> 
	<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot;- Registering managed account&quot;</span> <span style="color: #800080;">$TraceAccount</span>
	New<span style="color: pink;">-</span>SPManagedAccount <span style="color: #008080; font-style: italic;">-Credential</span> <span style="color: #800080;">$Cred_TraceAcct</span> <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">Out-Null</span> 
<span style="color: #000000;">&#125;</span>
<span style="color: #0000FF;">Else</span> <span style="color: #000000;">&#123;</span><span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot;- Managed account $TraceAccount already exists, continuing.&quot;</span><span style="color: #000000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #008000;"># Get the managed account.</span>
<span style="color: #800080;">$managedAccount</span> <span style="color: pink;">=</span> Get<span style="color: pink;">-</span>SPManagedAccount <span style="color: #800000;">&quot;$TraceAccount&quot;</span>
<span style="color: #0000FF;">If</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$tracingService</span>.ProcessIdentity.ManagedAccount <span style="color: #FF0000;">-notlike</span> <span style="color: #800000;">&quot;*$managedAccount*&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
&nbsp;
<span style="color: #008000;"># Set the tracing service to run under the managed account.</span>
<span style="color: #800080;">$tracingService</span>.ProcessIdentity.CurrentIdentityType <span style="color: pink;">=</span> <span style="color: #800000;">&quot;SpecificUser&quot;</span>
<span style="color: #800080;">$tracingService</span>.ProcessIdentity.ManagedAccount <span style="color: pink;">=</span> <span style="color: #800080;">$managedAccount</span>
<span style="color: #800080;">$tracingService</span>.ProcessIdentity.Update<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #008000;"># This actually changes the &quot;Run As&quot; account of the Windows service.</span>
<span style="color: #800080;">$tracingService</span>.ProcessIdentity.Deploy<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
Try<span style="color: #000000;">&#123;</span>
<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#91;</span>ADSI<span style="color: #000000;">&#93;</span><span style="color: #800000;">&quot;WinNT://$env:COMPUTERNAME/Performance Log Users,group&quot;</span><span style="color: #000000;">&#41;</span>.Add<span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;WinNT://$TraceAccountDomain/$TraceAccountUser&quot;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#125;</span>
catch <span style="color: #000000;">&#123;</span><span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> White <span style="color: #800000;">&quot; - $TraceAccount is already an in the Performance Log Users group, continuing.&quot;</span><span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;All Done&quot;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.isaacblum.com/2011/02/21/built-in-accounts-are-used-as-application-pool-or-service-identities/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

