Я записал этот сценарий VB для подобного вопроса на Отказе сервера. Это циклически повторится через каждый Профиль на целевой машине и предложит Вам (один за другим), если Вы захотите удалить профиль. Это делает это WMI Win32_UserProfile использования, таким образом, это будет чистое удаление.
Это попросит у Вас FQDN целевой машины. Если Вы получаете ошибки полномочий, изменяете Имя пользователя и Пароль для отражения учетной записи, которая имеет Локального Администратора provs на целевой машине.
Option Explicit
On Error Resume Next
Dim strComputer
Dim objWMIService
Dim propValue
Dim objItem
Dim SWBemlocator
Dim UserName
Dim Password
Dim colItems
Dim strMessage
Dim deleteResponse
strComputer = ""
UserName = ""
Password = ""
strMessage = ""
strComputer = InputBox("Please enter the FQDN of the new computer:")
If strComputer = "" Then
WScript.quit
End If
If Not Ping (strComputer) Then
MsgBox "The computer (" + strComputer + ") is not responding to ping - exiting"
WScript.quit
End if
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_UserProfile",,48)
For Each objItem in colItems
strMessage = ""
If not objItem.LastDownloadTime = "" Then
strMessage = strMessage + "LastDownloadTime: " & left(objItem.LastDownloadTime,8) + Chr(10) + Chr(13)
End If
If Not objItem.LastUploadTime = "" Then
strMessage = strMessage + "LastUploadTime: " & left(objItem.LastUploadTime,8) + Chr(10) + Chr(13)
End if
if not objItem.LastUseTime = "" then
strMessage = strMessage + "LastUseTime: " & left(objItem.LastUseTime,8) + Chr(10) + Chr(13)
End If
If Not objItem.Loaded = "" Then
strMessage = strMessage + "Loaded: " & objItem.Loaded + Chr(10) + Chr(13)
End If
If not objItem.LocalPath = "" then
strMessage = strMessage + "LocalPath: " & objItem.LocalPath + Chr(10) + Chr(13)
End If
if not objItem.RefCount = "" then
strMessage = strMessage + "RefCount: " & objItem.RefCount + Chr(10) + Chr(13)
End If
if not objItem.RoamingConfigured = "" then
strMessage = strMessage + "RoamingConfigured: " & objItem.RoamingConfigured + Chr(10) + Chr(13)
End If
if not objItem.RoamingPath = "" then
strMessage = strMessage + "RoamingPath: " & objItem.RoamingPath + Chr(10) + Chr(13)
End If
if not objItem.RoamingPreference = "" then
strMessage = strMessage + "RoamingPreference: " & objItem.RoamingPreference + Chr(10) + Chr(13)
End If
if not objItem.SID = "" then
strMessage = strMessage + "SID: " & objItem.SID + Chr(10) + Chr(13)
End If
if not objItem.Special = "" then
strMessage = strMessage + "Special: " & objItem.Special + Chr(10) + Chr(13)
End If
if not objItem.Status = "" then
strMessage = strMessage + "Status: " & objItem.Status + Chr(10) + Chr(13)
End If
strMessage = strMessage + Chr(10) + Chr(13) + Chr(10) + Chr(13) + "Do you wish to delete this profile?"
deleteResponse = MsgBox (strMessage,35,"Profile Found")
Select Case deleteResponse
Case 6
Err.Clear
objItem.Delete_
If Err.Number = 0 Then
MsgBox("Profile " & objitem.localpath & " on " & strComputer & " deleted")
Else
MsgBox("Profile " & objitem.localpath & " on " & strComputer & " NOT deleted - Is user logged in?")
End If
End Select
Next
Function Ping(strHost)
dim objPing, objRetStatus
set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select * from Win32_PingStatus where address = '" & strHost & "'")
for each objRetStatus in objPing
if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
Ping = False
else
Ping = True
end if
Next
End Function
Это не работает с помощью того же рабочего процесса, который Вы детализировали (это запрашивающий имя пользователя сначала). Проблема с этим подходом состоит в том, что Win32_UserProfile не содержит Имя пользователя, только thr SID. Когда пользователь входит в машину, SID используется для решения, какой профиль является корректным. Это предотвращает проблемы с переименованием учетные записи пользователей в AD.
Я верю пакету, который Вы ищете, php5-mhash
. Это находится в обновлении repos, таким образом, это должно быть в источниках. Если Вашему поставщику не присоединились к источникам, можно загрузить их с download.novell.com.
Однако, если Вы действительно просите OpenSUSE 10.1, не SLES 10 SP1, необходимо будет погуглить вокруг для установки ISO, так как та версия больше не обновляется или поддерживается. Или доступный в стандарте repos.