Some Word2010 users reported an interesting issue:
You are viewing a document (with reviewing turned on) in Print Layout view, and after a few minutes, the view switches to Draft view and opens the comments window on the bottom. It usually happens when the computer is left idle for a couple of minutes or sometime seconds.
Resolution:
Please verify EndNote X5 add-on is installed with Word2010. Try following methods:
1. Start in Word in safe mode (hold the CTRL key while starting word).
2. Disabled cite while you write - in endnote x5 tab, click the arrow on the bottom right of 'bibliography' -> instant formatting tab -> turn off.
Sometimes you may encounter the script error when you attempte to load album/track information in WMP12. For example:
An error has occurred in the script on this page
Line: 240
Character: 25
Error: Object expected
Code: 0
URL: http://fai.music.metaservices.microsoft.com/FAI/AlbumMatch.aspx?locale=409&geoid=f4&version=12.0.7601.17514&userlocale=409&requestid=830A4FFD-F3A3-4AD9-A1FA-390A48236E10
Do you want to continue running scripts on this page? Yes or No.
Causes:
In most of cases, it is due to Internet Explorer can not load the pages. You can fix it by cleaning the IE temp. files.
1. Close the WMP.
2. Please follow http://support.microsoft.com/kb/260897 to delete internet temp. files. Fix-it is recommended.
Below script shows how to restart the User Profile Synchronization Service if disabled.
============================================
# Loads the SharePoint 2010 PowerShell extensions Add-PSSnapIn Microsoft.SharePoint.PowerShell # Sets variable for User Profile Service Application: enter the name of your UPA in quotes, replacing the "UPA" example$upa = Get-SPServiceApplication |?{$_.displayname -eq "UPA"}# Sets variable for service instance: enter your User Profile Synchonization Service instance ID/GUID in quotes# which can be found by running "Get-SPServiceInstance" in PowerShell manually and copying the ID$profsync = Get-SPServiceInstance |?{$_.id -eq "382e333c-61f0-4107-ac5f-31aaf0a3aec3"}# Sets variables for farm account and password: enter your password in quotes$farmacctpwd = ConvertTo-SecureString -AsPlainText -String "Password1" -Force$farmacct = (get-spfarm).defaultserviceaccount# Sets variable for synchronization server: enter your server name in quotes$syncServer = "SharePoint1" if($profsync.Status -eq "disabled") { Write-Host "Provisioning User Profile Synchronization Service" $upa.SetSynchronizationMachine($syncServer, $profsync.ID, $farmacct.LookupName(), $farmacctpwd) } else { write-host "Profile Synchronization Service is"$profsync.Status }
Assuming you need it in script, PowerShell:
(gwmiWin32_LogonSession).GetRelated("Win32_UserAccount")
If you expect more than one logon session, then
(gwmi Win32_Process -filter "Handle = $Pid").GetRelated("Win32_LogonSession") |% {$_.GetRelated("Win32_UserAccount")}
will give you Win32_UserAccount for the account used to run current powershell instance.
Symptom:
You have Windows Server 2003 with installed Certification Authority and Web Enrollment components.
When you try to access web enrollment pages from a Windows Vista-based (or newer) computer you receive error:
The certificate enrollment page you are attempting to access cannot be used with this version of Windows. To enable Web certificate enrollment for clients running Windows Vista, your administrator must update all Windows CA Web enrollment pages. To learn more about this issue and the steps needed to update Web enrollment pages to support all versions of Windows, see:
http://support.microsoft.com/kb/922706
You installed MS11-051 by following KB922706 but you are still getting the same erro.
Solution:
1. Uninstall Security Update MS11-051.2. Install hot fix KB9227063. Install Security Update MS11-051.4. Type: IISReset
More information:
Install KB922706 update. Use the links below to download appropriate update:Download link for Windows Server 2003 x86Download link for Windows Server 2003 x64
Install MS11-051 security patch. Use the links below to download appropriate update:Download link for Windows Server 2003 x86Download link for Windows Server 2003 x64
There is a more conprehensive article authored by Vadims Podans also talking about this issue, please see:
http://en-us.sysadmins.lv/Lists/Posts/Post.aspx?ID=53
This is the sample code in CPP to show how to wait on a job object. In the documentation:
The state of a job object is set to signaled when all of its processes are terminated because the specified end-of-job time limit has been exceeded. Use WaitForSingleObject or WaitForSingleObjectEx to monitor the job object for this event.
If the processes terminate normally, then the job object is not signaled. To detect when all processes in a job have terminated, you need to associate the job with a completion port, and then listen on the I/O completion port for the JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO notification.
=================================
#define UNICODE
#define _UNICODE
#define STRICT
#include<windows.h>
#include<stdio.h>
#include<atlbase.h>
#include <atlalloc.h>
#include<shlwapi.h>
int __cdecl wmain(int argc, PWSTR argv[])
{
CHandle Job(CreateJobObject(nullptr, nullptr));
if(!Job) {
wprintf(L"Could not create job object, error %d\n", GetLastError());
return 0;
}
CHandle IOPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, 0, 1));
if(!IOPort) {
wprintf(L"Could not create IO completion port, error %d\n",GetLastError());
JOBOBJECT_ASSOCIATE_COMPLETION_PORT Port;
Port.CompletionKey = Job;
Port.CompletionPort = IOPort;
if(!SetInformationJobObject(Job, JobObjectAssociateCompletionPortInformation,&Port, sizeof(Port))) {
wprintf(L"Could not associate job with IO completion port, error %d\n", GetLastError());
PROCESS_INFORMATION ProcessInformation;
STARTUPINFO StartupInfo = { sizeof(StartupInfo) };
PWSTR CommandLine = PathGetArgs(GetCommandLine());
if(!CreateProcess(nullptr, CommandLine, nullptr, nullptr, FALSE,CREATE_SUSPENDED, nullptr, nullptr, &StartupInfo, &ProcessInformation)){
wprintf(L"Could not run process, error %d\n", GetLastError());
if(!AssignProcessToJobObject(Job, ProcessInformation.hProcess)) {
wprintf(L"Could not assign process to job, error %d\n",GetLastError());
ResumeThread(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hProcess);
DWORD CompletionCode;
ULONG_PTR CompletionKey;
LPOVERLAPPED Overlapped;
while (GetQueuedCompletionStatus(IOPort, &CompletionCode,&CompletionKey, &Overlapped, INFINITE) && CompletionCode !=JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO) {
wprintf(L"Still waiting...\n");
wprintf(L"All done\n");
Sometimes you may have a need to load a DLL in a separate domain to call its method at run-time. You can create a proxy class by referencing the following code snippet:
public class Loader : MarshalByRefObject { object CallInternal(string dll, string typename, string method, object[] parameters) { Assembly a = Assembly.LoadFile(dll); object o = a.CreateInstance(typename); Type t = o.GetType(); MethodInfo m = t.GetMethod(method); return m.Invoke(o, parameters); } public static object Call(string dll, string typename, string method, params object[] parameters) { AppDomain dom = AppDomain.CreateDomain("MyNewDomain"); Loader ld = (Loader)dom.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(Loader).FullName); object result = ld.CallInternal(dll, typename, method, parameters); AppDomain.Unload(dom); return result; } }
# computername
$MachineName = 'localhost'
# open HKLM reg on $MachineName
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $MachineName)
# open subKey SYSTEM\CurrentControlSet\services\TCPIP6\Linkage
$regKey = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\TCPIP6\\Linkage")
# get the values from the name 'Bind'
# e.g. \Device\{A2B312D5-A133-4779-B21B-5B3ED82B6DCF}
$bind = $regKey.GetValue("bind")
# get adapters that are IP enabled : e.g. IPv4 or IPv6 is active
$adapters = gwmi -computer $MachineName Win32_NetworkAdapterConfiguration|?{$_.IPEnabled}
# for each adapter check if his GUID is in the Bind values and display info regarding IPv6 binding
foreach ( $adap in $adapters)
# get GUID of the adapter
$guid = $adap.SettingID
# get the name of the adapter to be used to display info
$name = (gwmi -computer $MachineName Win32_NetworkAdapter|?{$_.guid -eq $guid}).NetConnectionID
# buid the \device\GUID string from the GUID of the adapter
$device_guid = '\Device\'+$guid
# check if the bind key contains the adapter guid
if($bind -contains $device_guid)
{write-host "Computer $MachineName -> IPv6 OK in adapter: $name" }
else {write-host "Computer $MachineName -> IPv6 not bind on adapter: $name" }
Write `nDone
You've implemented federation (AD FS) in your on-premises organization. You are doing a staged Exchange Migration (using a CSV file). You have migrated a couple of mail boxes from on-premises Exchange server to Plan E3.
But you start getting error:
A Windows Live error occurred while provisioning for "mail@domain.com". An internal error occurred while talking to Windows Live. Additional details: "0x800482101033This action is currently blocked for the API.CH1IDOPRTI02 2011.07.22.15.10.19".
Please check in the CSV file, are youusing TRUE for the value of the ForceChangePassword attribute?
If so, then in the CSV file, change the value for ForceChangePassword to FALSE, and then rerun the migration. For example:
EmailAddress,Password,ForceChangePasswordpilarp@tailspintoys.com,Pa$$w0rd,Falsetobyn@tailspintoys.com,Pa$$w0rd,Falseiant@tailspintoys.com,Pa$$w0rd,False
Alternatively, you can remove the Password and ForceChangePassword columns. The documentation for staged Exchange migration will be updated accordingly.
After SharePoint 2010 SP1 and June CUupgrade, when customer goes into Central Admin->manage user profile serviceapp->manage user profiles, select a user, he cannot uploaded their profilepicture any more, when he click choose picture and upload, it threw this error"There was an error saving the picture. Please try again later.", hedoes not see anything in the ULS log. The user is able to upload their ownpictures however not the admin.
Root cause:
This seems to be a known issue of June CU. The fix is under development and will be released soon.
Current workaround:
Use powershell script to do the update.
You can reference the sampe script in the link http://get-spscripts.com/2010/12/upload-multiple-user-profile.html as a temp. workaround.
There are many possible causes that can crash MSQuery in office 2010. A typical crash is as below:
AppName: msqry32.exe AppVer: 14.0.4750.1000 ModName: msvcr90.dll
There are several possible resolution you can try to resolve the above crash:
1. When you launch MS Query, just disable the option "Validate queries before saving or returning data", this is the fifth box in the options menu.
The only problem is that if you have made any mistake in your query, you'll only be noticed when receiving the data in excel.
2. Repair all the keys into registry at the following place:
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC]
For example:
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC]"TraceFile"="C:\\DOCUME~1\\...USERNAME...\\IMPOST~1\\Temp\\SQL.LOG""TraceDll"="C:\\WINDOWS\\system32\\odbctrac.dll"
In some cases ODBC trace/analyze log is off and can't create a big SQL.LOG file size that cause msvcr90.dll crash
You can use the below script:
==================================
Get-SPDatabase $syncdb=Get-SPDatabase -Id$syncdb.Unprovision()$syncdb.Status='Offline'Get-SPServiceApplication$upa=Get-SPServiceApplication - Id$upa.ResetSynchronizationMachine()$upa.ResetSynchronizationDatabase()$syncdb.Provision()