Назад | Перейти на главную страницу

запретить хранение в документах и ​​настройках учетной записи (windows)

Есть ли способ запретить локальной учетной записи на компьютере с Windows XP сохранять какие-либо данные в папке с документами и настройками?

Машина используется преимущественно в домене и является базовым образом. Когда создается новый экземпляр образа, использование локальной учетной записи позволяет добавлять / удалять машину из домена. Было бы хорошо, если бы эта локальная учетная запись не создавала себе папку с документами и настройками ...

... Верно, я не понял другого своего ответа, но, судя по комментариям, я думаю, что теперь понимаю.

Посмотрите на Раздел развертывания на Technet. Есть целый набор ресурсов, которые вам помогут.

Я бы рекомендовал получить Набор средств развертывания Microsoft и создание образа, который будет развертывать окна, предварительно установить все ваше программное обеспечение и присоединить компьютер к домену в рамках настройки Windows, чтобы вход в систему не требовался.

Наконец, если это не сработает для вас, вы все равно можете попробовать войти в систему, сделать то, что вам нужно, а затем создать раздел реестра, который будет запускать один раз запись для сценария при запуске, который может удалить все элементы в c: \ documents and settings - Только что нашел, но не могу поручиться за это, так как не использовал - http://www.wisesoft.co.uk/scripts/vbscript_delete_local_profiles.aspx

Microsoft также создает инструмент, который удаляет все локальные учетные записи пользователей, но я не могу его найти: S Я думаю, что он был в пакете поддержки, если я его найду, я отредактирую этот ответ.

Если вы используете это для клонирования на множество компьютеров и используете SysPrep, вы можете ввести команду RunOnce в конце SysPrep, чтобы просто удалить локальный профиль при первой загрузке. Это должно оставить базовое изображение практически нетронутым, и ничего не будет в Документах и ​​настройках.

Если это базовый образ, людям действительно не следует использовать его для повседневного использования, если только вы не говорите о желании предотвратить запись данных при развертывании образа.

Можно запретить людям писать и сохранять файлы с помощью групповой политики и ограничений, но у вас могут возникнуть проблемы с данными приложения, поскольку этого требует практически все, что вы запускаете в Windows.

Вы на самом деле не предоставляете достаточно подробностей относительно окружающей среды, поэтому я просто предполагаю здесь, но вы можете взглянуть на Windows SteadyState что позволит другим использовать этот компьютер, а затем восстановить его в исходное состояние.

Я действительно не уверен, что это возможно. Когда пользователь входит в систему, Windows необходимо где-то хранить всю информацию, которая позволяет пользователю войти в систему. Кто-то уже упомянул групповую политику, но это бесполезно для вас, потому что этот логин будет для присоединения машины к домену, который будет перед групповая политика может иметь любой эффект.

Лучше всего будет запустить сценарий удаленно после того, как пользователь выйдет из системы (после того, как он присоединил машину к домену). Этот сценарий будет циклически перебирать профили пользователей на удаленном компьютере (ПК только что присоединился к домену), проверяя SID. Если он находит соответствующий SID, он удаляет профиль.

В прошлом году я написал очень похожий сценарий. Это на работе. Завтра отвечу скриптом (когда буду на работе)

ОБНОВИТЬ:

Вот сценарий, о котором я говорил. Он нуждался в довольно серьезном ремонте, так как он делал все виды кросс-доменной фанки из-за среды, в которой я нахожусь.

Если у вас возникают проблемы с разрешениями, измените UserName = "" и Пароль = "" разделов на учетную запись, имеющую права локального администратора на целевом ПК.

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