[Server 2003 TS] TSCMD probleem

Pagina: 1
Acties:
  • 222 views sinds 30-01-2008
  • Reageer

  • Rahvin47
  • Registratie: Oktober 2002
  • Laatst online: 20-06-2023
Hoi luitjes,

Ik krijg error 87 als ik het tooltje TSCMD gebruikt om de terminal services profile aan te passen.
het script werkt wel op een andere omgeving (mijn VMWare bak), maar niet in de live omgeving.
Ik draai het tooltje op een Citrix server en geef als servernaam de FQDN van de Domaincontroller op.
Handmatig aanpassen in de DSA gaat wel, dus aan de rechten licht het niet.
Aan de syntax ook niet omdat het dus wel in een andere omgeving werkt.

iemand een idee?

Hier de code van het scriptje:
WshShell.Run "cmd /c c:\shared\tscmd " & strComputerName & " " & strAccountName & " TerminalServerHomeDirDrive T:", 0, 1
WshShell.Run "cmd /c c:\shared\tscmd " & strComputerName & " " & strAccountName & " TerminalServerHomeDir " & strSettingsDrive, 0, 1

strComputerName is dus de DC.
Vanuit de tool zelf krijg ik geen error te zien. Als ik handmatig bovenstaande regels intik met de variabelen ingevuld, dan krijg ik die error 87. Zonder verdere uitleg. Ook op google heb ik die error niet terug kunnen vinden. Wellicht iets met een poort die geblocked wordt? Ik kan helaas niet inloggen op de DC en kan ook niet bij de firewall (streng beveiligd en groot netwerk).

Life is what happens while you make other plans.


  • mutsje
  • Registratie: September 2000
  • Laatst online: 12-02 15:49

mutsje

Certified Prutser

weet niet maar moet je niet eerst strComputerName enzo zetten dat ie bekend is. Als je wscript.echo strComputerName doet krijg je inderdaad precies wat je vraagt namelijk strComputerName. Ga hier eens neuzen zou ik zeggen, staan heel veel voorbeeld scripts http://www.microsoft.com/...fault.mspx?wt.svl=leftnav

[ Voor 27% gewijzigd door mutsje op 08-08-2007 12:22 ]


  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Misschien nog verschillen tussen 2000 mixed/2003 interim/2000 native/2003 native domein/forest functional levels?
en zoals mutsje zegt kan de code van dat scriptje nooit volledig zijn.

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • Rahvin47
  • Registratie: Oktober 2002
  • Laatst online: 20-06-2023
Het is idd niet de volledige code. Die zal ik zo even erin zetten.
NB: Deze VB draait in een excelsheet. Ik heb die hele regel naar een cel laten schrijven en alle variabelen zette hij goed weg.

Life is what happens while you make other plans.


  • Rahvin47
  • Registratie: Oktober 2002
  • Laatst online: 20-06-2023
Hieronder dus de code. Tot en met de TSCMD commando's werkt het script prima.
Useraccount wordt netjes aangemaakt, homedrive wordt aangemaakt, enzovoorts.
het enige wat ie niet doet is het TSCMD stukje.
Alles tussen <> is gevoelige info die ik eruit heb gehaald.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Dim WshShell, strScriptDir, WshNetwork, strComputerName
Dim strFilePath, strDefaultPassword, strGroupsOU
Dim strInitials, strLastName, strAccountName, strDisplayName, strMailName, strDepartment, strProfile, strOU, strDescription, strHomeDrive, strSettingsDrive, strMailSuffix
Dim arrMailboxInfo, arrGroups, arrAddresses, MailBoxString
Dim objOU, objUser, objMailbox, objGroup, choice
Dim x, strTemp, usercount, StartRow, intNum, DSO, usr, temp

'------------------------------------------------------------
' Aanmaken objecten en zetten constanten
'------------------------------------------------------------

Set WshShell = CreateObject("WScript.Shell")
strScriptDir = WshShell.CurrentDirectory

Set WshNetwork = CreateObject("WScript.Network")
strComputerName = "<domaincontrollername>"

strDefaultPassword = "<password>"
strGroupsOU = ",<OUNAME>"

'------------------------------------------------------------
' Loop voor aanmaken user-accounts
'------------------------------------------------------------
usercount = 0
StartRow = 6
While Worksheets("Main").Cells(StartRow + usercount, 1).Value <> ""

    '------------------------------------------------------------
    ' Gegevens uit bestand lezen
    '------------------------------------------------------------

    strInitials = Worksheets("Main").Cells(StartRow + usercount, 1).Value
    strLastName = Worksheets("Main").Cells(StartRow + usercount, 2).Value
    strAccountName = Worksheets("Main").Cells(StartRow + usercount, 3).Value
    strDisplayName = strInitials & " " & strLastName
    strMailName = Left(strInitials, 1) & "." & strLastName
    strDepartment = Worksheets("Settings").Cells(2, 1).Value
    strProfile = Worksheets("Settings").Cells(2, 2).Value & strAccountName
    strOU = Worksheets("Settings").Cells(2, 3).Value
    strDescription = Worksheets("Settings").Cells(2, 4).Value
    strHomeDrive = Worksheets("Settings").Cells(2, 5).Value & strAccountName
    strSettingsDrive = Worksheets("Settings").Cells(2, 6).Value & strAccountName
    arrMailboxInfo = Split(Worksheets("Settings").Cells(2, 7).Value, "/")
    arrGroups = Split(Worksheets("Settings").Cells(2, 8).Value, ";")
    strMailSuffix = Worksheets("Settings").Cells(2, 9).Value

    '------------------------------------------------------------
    ' Aanmaken user-account en zetten eigenschappen
    '------------------------------------------------------------
    'On Error Resume Next
    If Not Worksheets("Main").Cells(StartRow + usercount, 8).Value = Empty Then
        strTemp = searchOU(Worksheets("Main").Cells(StartRow + usercount, 8).Value)
        If Not strTemp = "not found" Then
            strOU = strTemp
        End If
    End If
    
    Set objOU = GetObject("LDAP://" & strOU)
    If Err.Number <> 0 Then
            intNum = 2
            GoTo HandleError
        End If
createuser:
    Set objUser = objOU.Create("User", "cn=" & strAccountName)
    If Err.Number <> 0 Then
            intNum = 3
            GoTo HandleError
        End If
    With objUser
        .Put "userPrincipalName", strAccountName
        .Put "sAMAccountName", strAccountName
        .Put "givenName", strInitials
        .Put "sn", strLastName
        .Put "displayName", strDisplayName
        .Put "description", strDescription
        .Put "userAccountControl", 514
        If strHomeDrive <> strAccountName Then
            .Put "homeDrive", "P"
            .Put "homeDirectory", strHomeDrive

        End If
        .SetInfo
        If Err.Number <> 0 Then
            MsgBox "User bestaat al", vbCritical
            choice = InputBox("Geef een andere username op:", "enter username", Left(strAccountName, Len(strAccountName) - 1) & "2")
            If choice = "" Then GoTo HandleError
            strAccountName = choice
            Err.Clear
            GoTo createuser
        End If
        .SetPassword strDefaultPassword
        .Put "pwdLastSet", 0
        .SetInfo
        .AccountDisabled = False
        .SetInfo
        
        Cells(1, 10).Value = "cmd /c %S4_LIB%\SEC_SETFOLDERSP " & strHomeDrive & " %USERDOMAIN%\" & strAccountName & " full"
        WshShell.Run "cmd /c IF NOT EXIST " & strHomeDrive & " md " & strHomeDrive
        WshShell.Run "cmd /c %S4_LIB%\SEC_SETFOLDERSP " & strHomeDrive & " %USERDOMAIN%\" & strAccountName & " full"
        If Err.Number <> 0 Then
            intNum = 5
            GoTo HandleError
        End If
    End With
    
        WshShell.Run "cmd /c G:\Scripts\CreateUsers\tscmd " & strComputerName & " " & strAccountName & " TerminalServerHomeDirDrive T:", 0, 1
        WshShell.Run "cmd /c G:\Scripts\CreateUsers\tscmd " & strComputerName & " " & strAccountName & " TerminalServerHomeDir " & strSettingsDrive, 0, 1

Life is what happens while you make other plans.


  • Rahvin47
  • Registratie: Oktober 2002
  • Laatst online: 20-06-2023
sanfranjake schreef op woensdag 08 augustus 2007 @ 13:45:
Misschien nog verschillen tussen 2000 mixed/2003 interim/2000 native/2003 native domein/forest functional levels?
en zoals mutsje zegt kan de code van dat scriptje nooit volledig zijn.
Domain en forest level zijn Windows Server 2003
Zelfde als de VMWare bak.

Als ik het tscmd commando wegschrijf in een cel, blijft er over:
tscmd <servername> <username> TerminalServerHomeDirDrive T:

Als ik dat commando in de commandline invoer. Krijg ik weer die error 87.

Life is what happens while you make other plans.

Pagina: 1