Sample script to run the Office Migration Planning Manager File Scanner from a file share for Office 2010
適用版本: Office 2010
上次修改主題的時間: 2016-11-29
You can use the sample script contained in this article to run the Office Migration Planning Manager (OMPM) File Scanner from a central file share. You can deploy the script with Microsoft System Center Configuration Manager 2007, another software deployment application, or a script.
For more information about how to set up and run OMPM File Scanner, see 設定適用於 Office 2010 的 Office 移轉計劃管理程式檔案掃描程式 and 執行適用於 Office 2010 的 Office 移轉計劃管理程式檔案掃描程式.
'*************************************************************************************
' File Name: OffScan.vbs
' Version: 1.0
' Purpose: Executes offscan.exe and generate the MIF message based on output of offscan.exe
'*************************************************************************************
Option Explicit
''On Error Resume Next
Dim oFso, oWsh, g_strRoot, g_SourcePath, g_optFile, g_intReturnCode
'------------------- Creating Objects -------------------------------
Set oFso = Wscript.CreateObject("Scripting.FileSystemObject")
Set oWsh = Wscript.CreateObject("Wscript.Shell")
'------------- Get the Parent Folder -------------------------------
g_strRoot = oFso.GetParentFolderName(Wscript.ScriptFullName)
g_optFile = oWsh.ExpandEnvironmentStrings("%temp%\offscan_output.txt")
g_SourcePath = oFso.BuildPath(g_strRoot,"bits\offscan.exe")
If oFso.FileExists(g_optFile) Then
oFso.DeleteFile g_optFile
End If
g_intReturnCode= oWsh.Run("%comspec% /c " & g_SourcePath & " >> " & g_optFile,0,True)
'// Remove this if network copy is not requried
CopycabfiletoNetworkLocation
Quit()
'****************************************************************************************************************
'Sub Name : GenerateMIFMessage()
'Purpose: Generates the MIF message
'****************************************************************************************************************
Sub GenerateMIFMessage()
'On Error Resume Next
Dim l_varGetFile,l_strReadFile,l_strLine, l_oMIFGen, l_strMifMessage
If oFso.FileExists(g_optFile) Then
Set l_varGetFile = oFso.GetFile(g_optFile)
Set l_strReadFile = l_varGetFile.OpenAsTextStream(1,-2)
Do While l_strReadFile.AtEndofStream = False
l_strLine = l_strReadFile.ReadLine
If Not Trim(l_strLine) = "" Then
If Instr(lcase(l_strLine),"total time") or Instr(lcase(l_strLine),"total number") Then
If Trim(l_strMifMessage) = "" Then
l_strMifMessage = g_intReturnCode & ":" & l_strLine
Else
l_strMifMessage = l_strMifMessage & ";" & l_strLine
End If
End If
If Instr(lcase(l_strLine),"error:") Then
If Trim(l_strMifMessage) = "" Then
l_strMifMessage = g_intReturnCode & ":" & Split(Split(l_strLine,".")(0),":")(1)
Else
l_strMifMessage = l_strMifMessage & ";" & Split(Split(l_strLine,".")(0),":")(1)
End If
End If
End If
Loop
Set l_strReadFile = Nothing
Set l_varGetFile = Nothing
Else
l_strMifMessage="Output file NOT found"
End If
Set l_oMIFGen = WScript.CreateObject("ISMIFCOM.InstallStatusMIF")
l_oMIFGen.Create "OffScan.MIF", "Microsoft", "Office File Scanner", "1.0", "ENU", 1, l_strMifMessage, 1
End Sub
'*************************************************************************************
' Sub Name: Quit
' Purpose: Exit
'*************************************************************************************
Sub Quit()
'On Error Resume Next
GenerateMIFMessage()
Set oWsh = Nothing
Set oFso = Nothing
Wscript.Quit(0)
End Sub
'*************************************************************************************
'Sub Name : CopycabfiletoNetworkLocation()
'Purpose: Copy the cab file to specified common folder
'*************************************************************************************
Sub CopycabfiletoNetworkLocation()
'On Error Resume Next
Dim l_strDemoFolder, l_strFile, l_oFileCollection
Dim l_offSacnIniPath, l_SourceFolder, l_destinationFolder
l_offSacnIniPath="bits\offscan.ini"
l_SourceFolder="%temp%\offscan" '%temp%\offscan - this shold be same as in offscan.ini file.
'//--------------- Specify the Share name (share name should end with "\" )--------------------
l_destinationFolder= "\\server\sharename\"
l_offSacnIniPath = oFso.BuildPath(g_strRoot,l_offSacnIniPath)
If oFso.FileExists(l_offSacnIniPath) Then
l_SourceFolder = oWsh.ExpandEnvironmentStrings(l_SourceFolder)
Set l_strDemoFolder = oFso.GetFolder(l_SourceFolder)
Set l_oFileCollection = l_strDemoFolder.Files
For Each l_strFile in l_oFileCollection
oFso.CopyFile l_strFile,l_destinationFolder
Next
Set l_oFileCollection = Nothing
Set l_strDemoFolder = Nothing
End If
If oFso.FileExists(g_optFile) Then
oFso.CopyFile g_optFile,l_destinationFolder
End If
End Sub