Официальный сайт студ.городка НГТУ
Software » Возможность функционального расширения cmd в WinXp 

#1  18.03.08 20:21

Возможность функционального расширения cmd в WinXp

Можно ли расширить или заменить Cmd XP например cmd windows 2003?

Offline

#2  18.03.08 22:48

Re: Возможность функционального расширения cmd в WinXp

cmd это только интерпретатор команд

Offline

#3  19.03.08 09:53

Re: Возможность функционального расширения cmd в WinXp

Bream, Спасибо за уточнение))). И тем неменее можно ли  расширить возможности командной строки в ХР.

Offline

#4  19.03.08 16:47

Re: Возможность функционального расширения cmd в WinXp

ну на сколько мне известно - последняя независимая версия ms-dos 6.22. какие ядра microsoft сует в wind'у я не в курсе.
за что я не люблю Винду, так это за то, что в ней не реализована блочная система. так что вряли тебе удастся воткнуть новое ядро в нее...

Offline

#5  19.03.08 16:51

Re: Возможность функционального расширения cmd в WinXp

Scotch, специально ввел в поиск в яндексе, на гугле и паре форумах, на которых я зарегистрирован - ничего по этому поводу не нашел...
все, кому нужны широкие возможности командных интерпретаторов сидят на Unix-системах

Offline

#6  19.03.08 16:55

Re: Возможность функционального расширения cmd в WinXp

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

Offline

#7  20.03.08 13:22

Re: Возможность функционального расширения cmd в WinXp

Antony, как- то пробовал скопировать(может коряво пробовал) ни чего не получилось.
Bond 007, я тоже яндыкс излал нихрена не нашел, попробую ms-dos 6.22

Offline

#8  20.03.08 14:29

Re: Возможность функционального расширения cmd в WinXp

кое что nncron умеет делать

Offline

#9  20.03.08 17:39

Re: Возможность функционального расширения cmd в WinXp

Я когда-то очень давно пользовался клоном 4DOS, NDOS. cmd.exe даже в нынешнем состоянии всасывает эндосу. NDOS разве что длинные имена не понимает. Для Windows есть 4NT, но за бабки. А если не за бабки, то можно Tcl/Tk поставить, хотя не знаю, насколько Tcl хорош в качестве интерактивной оболочки.

Microsoft тем временем предлагает PowerShell.

Offline

#10  21.03.08 18:19

Re: Возможность функционального расширения cmd в WinXp

MS PowerShell

Offline

#11  22.03.08 21:15

Re: Возможность функционального расширения cmd в WinXp

еще есть Windows XP Resource Kit Tools
набор полезных консольных утилит

Offline

#12  22.03.08 21:22

Re: Возможность функционального расширения cmd в WinXp

Matrim, знаю есть и его поставил, и от windows 2003 resource kit воткнул.
Корче нада мне вот что:  чтобы с помощью батника можно было создать сетветой ресурс с пределенными правами доступа. В 2003 у команды net share такая возможность есть, параметр /grant, а в ХР у этой net share параметра /grant нету. Вот я и грею голову как это сделать. Кто подскажет?

Offline

#13  22.03.08 22:09

Re: Возможность функционального расширения cmd в WinXp

А net.exe от 2003й на XP работает?

Offline

#14  23.03.08 13:08

Re: Возможность функционального расширения cmd в WinXp

OCTAGRAM, простым подкидованием(заменой) net.exe из 2003 в ХР вопрос не решаеться, скорее всего параменты этой команды находяться где то в dllках (может конечно я  что - то путаю), которые я тоже пытался подкидывать.

Offline

#15  28.03.08 02:42

Maq
Профиль

Re: Возможность функционального расширения cmd в WinXp

wsh+adsi скорее всего поможет
http://www.apostate.com/wsh-adsi-recipes#Creating%20a%20Share"> a Share

вот насчет прав, если не ошибаюсь то что надо: http://support.microsoft.com/?id=825751


хе-хе, нашел насчет задания прав:)
http://forum.sources.ru/index.php?showtopic=175639&view=showall

Код::

'*************************************************************
'* Имя: Share_Add_ACE.vbs                                    *
'* Язык: VBScript                                            *
'* Назначение: Добавление разрешений на доступ к общей папке *
'*************************************************************
Dim objWMI, objSecSettings, objSD, objItem, objWSNet
Dim arrACE(), blnUserFound
Dim objCollection, objSID, objTrustee, objNewACE
Dim strComputer, strUser, strDomain, strUserSID
Const FULL_ACCESS = 2032127
Const READ_AND_MODIFY = 1245631
Const READ_ONLY = 1179817
Const ACCESS_ALLOWED = 0
Const ACCESS_DENIED = 1
Const strShareName = "Total_Folder"

Set objWSNet = CreateObject("WScript.Network")
strComputer = objWSNet.ComputerName
strDomain = objWSNet.UserDomain
Set objWSNet = Nothing
strUser = "здесь - имя "учётки" пользователя"
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\CIMV2")
Set objCollection = objWMI.ExecQuery("SELECT * FROM Win32_LogicalShareSecuritySetting WHERE Name='" & strShareName & "'")
If objCollection.Count > 0 Then
    Set objCollection = objWMI.ExecQuery("SELECT SID FROM Win32_Account WHERE Name='" & strUser & "' AND Domain='" & strDomain & "'")
    If objCollection.Count > 0 Then
        For Each objItem In objCollection
            strUserSID = objItem.SID
        Next
        Set objCollection = Nothing
        Set objSecSettings = objWMI.Get("Win32_LogicalShareSecuritySetting.Name='" & strShareName & "'")
        If objSecSettings.GetSecurityDescriptor(objSD) = 0 Then
            If Not IsNull(objSD.DACL) Then
                ReDim arrACE(UBound(objSD.DACL))
                i = 0
                For Each objItem In objSD.DACL
                    If objItem.Trustee.SIDString = strUserSID Then
                        objItem.AccessMask = READ_ONLY
                        blnUserFound = True
                        Exit For
                    Else
                        Set arrACE(i) = objItem
                        i = i + 1
                    End If
                Next
                If Not blnUserFound Then
                    Set objSID = objWMI.Get("Win32_SID.SID='" & strUserSID & "'")
                    Set objTrustee = objWMI.Get("Win32_Trustee").Spawninstance_()
                    objTrustee.Domain = strDomain
                    objTrustee.Name = strUser
                    objTrustee.SID = objSID.BinaryRepresentation
                    objTrustee.SidLength = objSID.SidLength
                    objTrustee.SIDString = strUserSID
                    Set objSID = Nothing
                    Set objNewACE = objWMI.Get("Win32_Ace").Spawninstance_()
                    objNewACE.AccessMask = READ_ONLY
                    objNewACE.AceType = ACCESS_ALLOWED
                    objNewACE.Trustee = objTrustee
                    Set objTrustee = Nothing
                    i = UBound(arrACE) + 1
                    ReDim Preserve arrACE(i)
                    Set arrACE(i) = objNewACE
                    objSD.DACL = arrACE
                    Set objNewACE = Nothing
                    Erase arrACE
                End If
                intResult = objSecSettings.SetSecurityDescriptor(objSD)
                Select Case intResult
                    Case 0: WScript.Echo "Успешное завершение."
                    Case 2: WScript.Echo "Отсутствует доступ к необходимой информации."
                    Case 8: WScript.Echo "Неизвестная ошибка."
                    Case 9: WScript.Echo "Для выполнения операции нет достаточных прав."
                    Case 21: WScript.Echo "Заданы недопустимые значения параметров."
                End Select
            Else
                WScript.Echo "Дескриптор безопасности объекта не содержит ни одной записи DACL."
            End If
        Else
            WScript.Echo "Не удалось прочитать дескриптор безопасности объекта."
        End If
    Else
        WScript.Echo "Не обнаружена учётная запись пользователя " & UCase(strUser)
    End If
Else
    WScript.Echo "Не обнаружен общий ресурс с именем " & UCase(strShareName)
End If
Set objSD = Nothing
Set objSecSettings = Nothing
Set objWMI = Nothing

убирание прав по ссылке

Offline

Software » Возможность функционального расширения cmd в WinXp 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.082 сек.
Выполнено 14 запросов.