User name change in AD does not reflect in the welcome note in Sharepoint 2007.

 I was just asked why a users’ name, when updated in AD, does not reflect in the MOSS 2007 SSP?

I found a nice solution here  and here

But these required removing the user from the ‘All People’ group and adding them again.

"…1. Open companyweb as an administrator.

2. Click Site Settings link in the top frame.
3. Click Manage Users.
4. Check the problematic user and click Remove Selected Users.
5. Click OK to continue.
6. Click Add Users.
7. Put in the user’s e-mail address and select its permission. Then click 
Next.
8. Click Finish to complete the wizard…"

Not wanting to remove a user from anything on a Production Server, I just created a temp group, added the user, then removed them again and it was all fixed.

Much nicer than removing them from ‘All People’

 

Sharepoint notes, hints and fixes …

What I have learnt so far with Sharepoint.

1. Google is your friend.

2. Have your own dev vm so you can test and break things, snapshots are handy.

3. Logs logs logs. If there’s a problem, there’s a good chance it’s in the logs.

4. Keep a record of the useful commands you’ve used, and how you used them. There’s a good chance you’ll need them again 

 

 

Restoring a backup from a different SQL Server
 

RESTORE FILELISTONLY
FROM DISK = ‘\\.host\Shared Folders\SQL Backups\master_backup_200903310300.bak’ 

then

RESTORE DATABASE master
   FROM DISK = ‘\\.host\Shared Folders\SQL Backups\master_backup_200903310300.bak’
   WITH
      MOVE ‘master’ TO ‘E:\master.mdf’ ,
      MOVE ‘mastlog’  TO ‘E:\master.ldf’, REPLACE
———————————————————-

 

After a restore of some tables, database is out of sync:
 

Run this command:

disconnected from farm, reconnected to farm
stsadm -o sync -deleteolddatabases 5 – if no portal sites

List users in AD before they’re in Sharepoint
 

On Error Resume Next

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE

objCommand.CommandText = _
    "SELECT Name, userPrincipalName, sAMAccountName FROM ‘LDAP://OU=CUI,DC=MyDC’ WHERE objectCategory=’Person’ And objectClass=’User’" 
Set objRecordSet = objCommand.Execute
———————————————————-
or More fields:

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("Name").Value + "," + objRecordSet.Fields("userPrincipalName").Value + "," + objRecordSet.Fields("sAMAccountName").Value
    objRecordSet.MoveNext
Loop
———————————————————-

Keep farm and service account passwords written down. Once they’re in they’re in. you don’t want to have to reset them across the farm and app pools again.
But if you have to …..
Find the website in IIS.
Find the app pool user.
Set the new password in AD
Set the new password in the app pool. recycle app pool.
Set the new password for the account across sharepoint using:

stsadm -o updateaccountpassword -userlogin MyDomainController\svc_spssapp -password mypassword -noadmin
I run the above line on the web server, and the index server to make sure 🙂
———————————————————-

Sometimes, when restoring a machine to a new domain controller, there’s the message:

Can’t connect to domain controller.
Even though you know the name is correct, to fix do the following:
 It’s a SIP issue. Remove the machine from the domain, – workgroup, then reboot, then add it again.
 
 
 

 

 Better debug messages:
 

 in the web.config file:
 
 configuration>
 <SharePoint>
  <SafeMode CallStack="true">
 </SharePoint>
 <system.web>
  <customErrors mode="Off" />
  <compilation batch="true" debug="true">
 </system.web>
</configuration>

 

———————————————————-
If upgrade to sp1 gets stuck, this command sorted it out:
When upgrade got stuck at step 8, ran this : psconfig -cmd upgrade -inplace b2b -wait
———————————————————-

content and config databases can be the wrong version for the farms wss, so to fix:
SELECT[VersionId] as VerConfig,[Version],[Id],[Updates],[Notes]
FROM SharePoint_Config.[dbo].[Versions]

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>stsadm -o upgrade -inplace -url http://mybaseurl
—————————–

 

Sharepoint – Can’t connect to configuration database.

Saw this one over and over, so many many causes.

1. Reset the farm password
stsadm -o updatefarmcredentials -userlogin MyDomainController\svc_spfarm -password farmpass -local

Still nothing, find out what the configdb is in the registry of the web server, and make sure that it can be connected to. Try making an ODBC source if you don’t have SQL Manager.

Ping to boxes.
Ping to box names as well as IPs.

Make sure that the app pool user/pass is correct and recycle it.
Can sometimes be caused by having a farm account with expired password.
———————————————————-

———————————————————-
Can’t list the Active Directory mapping fields on the Edit User Profile Property page.
———————————————————-

Only seeing ‘Source Data Connection’ – Master Connection.

These messages where not that useful:

Note: The selection of directory service properties may be disabled if the shared service provider is in an untrusted domain or if profile import is not configured.

Note: The selection of directory service properties is disabled because the portal is in an untrusted domain or no directory service import is configured yet.

Security Note: If you are using a high privilege account to import, you will be able to read and import directory attributes that are not normally accessible by users.

No matter what I tried, I could never get the little pull down to appear that would let me map my sharepoint fields to Active Directory fields.
I changed accounts, moved from AD – LDAP, tried AD resources, and got nothing!

Well, I never found a fix to this. But I did just write a patch to the DataServicePropMap table to have the fields mapped.

Insert into DataServicePropMap
Values(19,1,’mobile’,NULL,NULL,’True’);
GO

Insert into DataServicePropMap
Values (20,1,’facsimileTelephoneNumber’,NULL,NULL,’True’)

19 means mobile, and 20 means fax. I got these values from:

playing with the following SQL

select * from PropertyListLoc

select * from DataServicePropMap
dbo.profile_GetDataServicePropMapping @DataServiceName=’redmond-ad’

The definitions of properties:
select * from dbo.PropertyList

SELECT  PropertyURI, DataType, Length, P.BlobType, DataServicePropName, AssociationName, P.PropertyName, P.IsMultivalue, DT.IsURL, DT.IsPerson, DT.IsEmail, DT.Name AS DataTypeName, D.DataSource
FROM DataServicePropMap D
INNER JOIN PropertyList P
ON D.PropertyID = P.PropertyID
INNER JOIN DataTypeList DT
ON P.DataTypeID = DT.DataTypeID
WHERE D.DataServiceID =
 ( SELECT DataServiceID FROM DataServiceList
  WHERE DataServicename = ‘redmond-ad’ )

  
  
(nb, redmond-ad was specific to my system )

I don’t know if there are hidden impacts to making this sort of change, but after weeks of trying to get things to map. The table changes were all I had left….
———————————————————-
  
———————————————————-
Get useful info from AD for import
———————————————————-
(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))
———————————————————-

 

 

Broad skills

 No, it’s not being really good with women.

I was discussing with a friend the other day, the pros and cons of broad skills, as apposed to deep, but narrow skills.

Broad skills – pros – lots of knowledge of different areas, obvious ability and/or interest in many areas. Potentially more locations would be willing to hire, as you probably have some skills in something they need.

Broad skills – cons – hard to get a high paid ‘specialized’ job in any one area.

Deep skills – pros – easy to get high paid specialized jobs.

Deep skills – cons – fewer potential places to find work, as only has skills in a very specific area.

 

Just something that I’m thinking about at the moment.

 

Also, is bordom at work inversely proportional to stress? 

Two more Netvibes Weather Widgets

 And these ones are animated.

After much work, I’ve finally gotten the visible and infrared Australian Satellite Images Animated and on my netvibes page.

 

 

The Standalone versions are

Infrared

Visible

What I’ve learned from making these.
1. It’s still more fun making my own stuff
2. Visual Studio’s javascript debugger is very good
3. Netvibe’s Universal Widget API still needs alot of work, yikes. But it’s getting there. I hope it catches on 🙂

Widgets today

 To get a better understanding of javascript, I’ve been experimenting with netvibes widgets.

I’ve been using Netvibes for a few years now to keep all my rss feeds together. I always wanted to see the Aussie Satellite map in there, as well as the weather forecast. So now, I can see the Satellite Map, as well as some regional radar maps. I’m adding more as I go.

Thanks to BOM.gov.au for upping all the images in the first place. You can see the widget here Australian Satellite and Radar Images Widget

When Visual Studio 2008 just won't install

 

Ok, I tried installing Web Developer Express 2008. and Visual Studio 2008, and they kept on flunking out.
Web Dev couldn’t install the patch for KB … and Visual Studio couldn’t install Document Explorer 2008 cause it couldn’t find dexplore.exe

Nothing worked. So I downloaded the Windows Installer Cleanup Utility and went nuts on everything related to old Visual Studio files and .Net framework stuff.

And guess what? Visual Studio finally installed – yay!

4PSA – tbrestore from Total Backup for Plesk- phew

 

I bought the 4PSA Total Backup for Plesk some time ago for my Plesk server. Of course, 1 week before I was due to retire the server, it crashed. I had to reimage, and then came the nail biting task of restoring it.
But I had a few errors, I installed the correct version of Total Backup, but when I ran

/usr/local/tbackup/tbrestore

I got the error

 

Error! Cannot cd to directory

‘Crap!’ I thought to myself. Googling didn’t help, nor did the 4PSA forums. Turns out the fix was that I had to specify a local backup directory through the Plesk control panel, for tbrestore to work.

It’s running now, it’s a slow, nail biting experience …..