Reflections over the current computer issues from an struggling network technician
Thursday, July 21, 2016
Script for updating URLrewrite-rules
This offered an oppertunity to create a script to automate the addition of custom rules sets for a specific file.
And I got to fiddle with xml-manipulation which is also fun.
This script reads an csv for inputaddress and ruleTemplate file
csv – addresses.csv
ruleName,target,destination
tomteland,www.tomteland.se,tomteland
Powershellscript, this script reads web.config from designated place makes a copy to $workingDir where updates are applied to file in $workingDir. This a pretty specific script, for example outboundRules are applied before <precondition>-tagg, but haven’t really experimented what happens if the preconditions aren’t there for example. So better to use as inspiration rather than copy paste. Also rewriteRules will need to be adjusted for your particuliar scenarios. Matching for rules to change are made with replace() towards #rulename#, #destination and #target# cause this was easier for this scenario.
Monday, July 18, 2016
Finding duplicate content types
#Description:Find duplicate content types in sitecollection Add-PSSnapin microsoft.sharepoint.powershell $siteURL = "https://test-mysite.mycompany.com" $site = get-spsite $siteURL $object = @() foreach ($newWeb in $site.AllWebs) { foreach ($cType in $newWeb.contentTypes) { $tempObj = new-object PSObject -Property @{webURL=$newWeb.Url; CTName=$cType.Name; CTid=$cType.Id} $object += $tempObj } } #sort out duplicates $duplicates = $object |Group-Object ctid |Where-Object {$_.count -gt 1} |select -ExpandProperty group write-output "Found $($object.count) content types in $siteURL" write-output "Total duplicates: $($duplicates.count)" $duplicates
Monday, March 14, 2016
Urlrewrite and sharepoint 2013
I some trouble recently getting urlrewrite to play along with SP2013 and IIS 8.
HostNamedSiteCollection wasn’t doable for a lot of other reasons.
Scenario: Using urlrewrites to handle vanityurls for site collections in SP2007. When migrating to SP2013 these rules don’t work at all.
Symptoms:
- With outboundrules activated nothing works for webapplication. (Website cannot display the page)
- Always lands on top site collection, rewrite dont work.
Solution:
A combination of a few fixes
- Install patch kb2749660 to fix outboundrules
- Add registry key ("HKLM:\Software\Microsoft\InetStp\Rewrite\" (Dword) LogRewrittenUrlEnabled=0)
- Deactivate Static Compression on IIS-site
- Add rewrite rule like {HTTP_HOST} matches pattern ^www.labb13.nu(.*)
References:
https://support.microsoft.com/en-us/kb/2749660 - Response is corrupted when you configure an outgoing rule in URL Rewrite Module 2.0 for IIS 7.0 or IIS 7.5
http://ruslany.net/2010/05/storing-url-rewrite-mappings-in-a-separate-file/
https://blogs.msdn.microsoft.com/danielvl/2010/01/07/registry-values-for-iis-url-rewrite/
http://stackoverflow.com/questions/14607390/iis-urlrewrite-is-not-working-for-iis-8
http://social.technet.microsoft.com/wiki/contents/articles/23074.sharepoint-2013-url-rewrite.aspx
http://blogs.technet.com/b/mspfe/archive/2013/11/27/how-to-create-a-url-alias-using-iis-url-rewrite.aspx – example (without sharepoint)
http://johnliu.net/blog/2010/7/23/sharepoint-2010-with-iis-url-rewrite-20.html
https://www.iis.net/learn/extensions/url-rewrite-module/creating-outbound-rules-for-url-rewrite-module
https://social.technet.microsoft.com/Forums/en-US/8d076df4-d93c-47be-80cc-f22dddc1c4c8/how-to-implement-url-rewriting-for-sharepoint?forum=sharepointdevelopmentprevious – similar problem. http://blog.mastykarz.nl/friendly-urls-sharepoint-site-4-steps-iis7-url-rewrite-module/ - rewrite with sharepoint 2013
http://blogs.msdn.com/b/chiranth/archive/2014/06/13/url-rewrite-part-3-outbound-rules-amp-rewrite-maps.aspx - why use outbound rules?
https://support.microsoft.com/sv-se/kb/2818415 - supported assymentrical solutions
Tuesday, January 26, 2016
For the very lazy admin
function createMeeting(
$Subject = "Test Meeting",
$body = "Just Testing",
$location = "Here",
$start = "1/26/2016 12:00 PM",
$duration = 60,
$reminderSet = $true,
$reminderMinutesBeforeStart = 15
)
{
$olAppointmentItem = 1
$o = New-Object -comobject outlook.application
$a = $o.CreateItem($olAppointmentItem)
$a.MeetingStatus.olMeeting
$a.Start = $start
$a.Duration = $duration
$a.Subject = $Subject
$a.body = $body
$a.Location = $location
$a.ReminderMinutesBeforeStart = $reminderMinutesBeforeStart
$a.reminderSet = $true
$result = $a.Save()
}
$Duration = 60
$Subject = "Test1"
$Body = "testar2"
$Location="Office"
$ReminderMinutesBeforeStart = 30
$reminderSet = $true
#This scenario is set of dates with same meeting time
$arrayOfDates = "2016-01-26", "2016-01-27","2016-01-28"
$hour = 10
$minute = 00
for ($i=0;$i -le ($ArrayOfDates.count-1);$i++) {
$dateTime = get-date $ArrayOfDates[$i] -Hour $hour -Minute $minute
$dateTime
createMeeting -Subject $Subject -body $Body -location $Location -reminderSet $reminderSet -reminderMinutesBeforeStart $ReminderMinutesBeforeStart -duration $Duration -start $dateTime
}
References:
https://social.technet.microsoft.com/Forums/windowsserver/en-US/077733c5-6e39-489e-908a-d3098c512a71/need-to-create-meeting-request-using-powershell-with-outlook-2010-2013?forum=winserverpowershell
Powershell and Uptimerobot
Uptimerobot can be quite tedious when you need to update many monitors at once. For example say you bought the license for Uptimerobot and n...
-
Problem: In a customer environment they wanted to install RDS and DC on the same server. A nice cheap solution, which have worked perfectly...
-
Error received for no apparent reason when creating workflow. Errors were found when compiling the workflow. The workflow files were save ...
-
I had some problems with the old familiar "Working on it" for mysites in Sharepoint 2019. It was difficult to find information ab...