Bonsoir à tous !
Pour diverses raisons, il me faudrait récupérer le chemin du profile
itinérant pour un utilisateur NT, le nom de ce profile, et enfin pouvoir
le renommer (le profile ...) ...
J'ai trouvé plein de script VB pour AD, mais j'avoue que pour NT, les
résultats sont plus maigres .... donc, si vous auriez une quelconque
solution (Batch, VB ....) je suis plus que preneur !
Merci d'avance !
Denis.
Bonsoir à tous !
Pour diverses raisons, il me faudrait récupérer le chemin du profile
itinérant pour un utilisateur NT, le nom de ce profile, et enfin pouvoir
le renommer (le profile ...) ...
J'ai trouvé plein de script VB pour AD, mais j'avoue que pour NT, les
résultats sont plus maigres .... donc, si vous auriez une quelconque
solution (Batch, VB ....) je suis plus que preneur !
Merci d'avance !
Denis.
Bonsoir à tous !
Pour diverses raisons, il me faudrait récupérer le chemin du profile
itinérant pour un utilisateur NT, le nom de ce profile, et enfin pouvoir
le renommer (le profile ...) ...
J'ai trouvé plein de script VB pour AD, mais j'avoue que pour NT, les
résultats sont plus maigres .... donc, si vous auriez une quelconque
solution (Batch, VB ....) je suis plus que preneur !
Merci d'avance !
Denis.
Par hazard tu veut savoir quoi, le chemin de profil de l'utilisateur
courant
ou le chemin de profil dans le domain NT4 ?
voici mon script qui lit dans un fichier la liste des compte utilisateur
et
qui va te generer un log avec tous les profils utilisateur
je l'ai modifier a la va vite, il est possible qu'il reste 1 ou 2 erreur
de
script dedans car je peut plus le tester, j'ai plus de domaine NT4 dispo
en
ce moment
Oublie pas de changer le nom du domain et de remplir le fichier
"liste_usr.txt" qui doit etre dans le meme repertoire que le script.
voila
--------
'*************************************************************
'* Declaration des variable et Constante de fonctionement
'*
'*************************************************************
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
'*************************************************************
'* Definition des Valeur par default
'*
'*************************************************************
Domain = "NOMDUDOMAIN" ' Nom Du Domaine de travail
Domain = "//" & Domain
'*************************************************************
'* Fonction de Cargement du fichier de list de login
'* Input : Nothing
'* Output : Tableau a 1 dimension de liste des utilisateur de taille
varaible
'*************************************************************
Function GetTextFileLines()
Dim FileText ,items , i
' read the file's contents, exit if any error
FileText = ts_usr.ReadAll
' this is necessary, because Split() only accepts 1-char delimiters
FileText = Replace(FileText, vbCrLf, vbCr)
' split the file in individual lines of text
items = Split(FileText, vbCr)
' drop empty lines, if requested
' Defini les lignes Vides dans le tableau est les remplaces par un vbcrlf
'
For i = 0 To UBound(items)
If Len(items(i)) = 0 Then items(i) = vbCrLf
Next
' Utilise la fonction Filter() pour suprimer les lignes vides via un
filtre
sur VBCRLF
items = Filter(items, vbCrLf, False)
GetTextFileLines = items
End Function
'**************************************************************
'* Fonction qui recupere le path d'un utilisateur et qui le set
'* Avec les informations renvoyer par Check_Path
'* Input : sUserName = le Login Utilisateur
'* Output : Dans Fichier defini par : ts_rep_log et ts_rep
'**************************************************************
Function Detail_prof(ByVal sUsername)
Dim Ousr, sPath , sProfilepath
On Error Resume Next
Err.clear
Set Ousr= GetObject("WinNT:" & domain & "/" & sUsername)
If err.number <> 0 Then
ts_rep.writeline "ERROR: Login Incorect: " & sUsername
Else
sProfilepath=Ousr.Get("Profile")
If Len(sProfilepath) >0 Then
sPath =check_path(sProfilepath)
ts_rep.writeline sProfilepath & " " &sUsername
Else
ts_rep.writeline "ERROR : Pas de Path :" & " " &sUsername
End If
End If
End Function
'*************************************************************
'* Partie Principal du script.
'*
'*************************************************************
Set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FileExists("liste_rep_nt4.txt") then fso.CreateTextFile
"liste_rep_nt4.txt" ' Create a file if not exist.
Set f_rep = fso.GetFile("liste_rep_nt4.txt")
Set f_usr = fso.GetFile("liste_usr.txt")
Set ts_usr = f_usr.OpenAsTextStream(ForReading, TristateUseDefault)
Set ts_rep = f_rep.OpenAsTextStream(ForAppending, TristateUseDefault)
ts_rep.writeline
"*************************************************************"
ts_rep.writeline Now
ts_rep.writeline
"*************************************************************"
fichier=GetTextFileLines
For Each login In fichier
Detail_prof login
Next
ts_usr.Close
ts_rep.Close
Set f_rep = Nothing
Set f_usr = Nothing
Set ts_usr = Nothing
Set ts_rep =Nothing
Set Fso = Nothing
Wscript.echo "Script Fini"
Par hazard tu veut savoir quoi, le chemin de profil de l'utilisateur
courant
ou le chemin de profil dans le domain NT4 ?
voici mon script qui lit dans un fichier la liste des compte utilisateur
et
qui va te generer un log avec tous les profils utilisateur
je l'ai modifier a la va vite, il est possible qu'il reste 1 ou 2 erreur
de
script dedans car je peut plus le tester, j'ai plus de domaine NT4 dispo
en
ce moment
Oublie pas de changer le nom du domain et de remplir le fichier
"liste_usr.txt" qui doit etre dans le meme repertoire que le script.
voila
--------
'*************************************************************
'* Declaration des variable et Constante de fonctionement
'*
'*************************************************************
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
'*************************************************************
'* Definition des Valeur par default
'*
'*************************************************************
Domain = "NOMDUDOMAIN" ' Nom Du Domaine de travail
Domain = "//" & Domain
'*************************************************************
'* Fonction de Cargement du fichier de list de login
'* Input : Nothing
'* Output : Tableau a 1 dimension de liste des utilisateur de taille
varaible
'*************************************************************
Function GetTextFileLines()
Dim FileText ,items , i
' read the file's contents, exit if any error
FileText = ts_usr.ReadAll
' this is necessary, because Split() only accepts 1-char delimiters
FileText = Replace(FileText, vbCrLf, vbCr)
' split the file in individual lines of text
items = Split(FileText, vbCr)
' drop empty lines, if requested
' Defini les lignes Vides dans le tableau est les remplaces par un vbcrlf
'
For i = 0 To UBound(items)
If Len(items(i)) = 0 Then items(i) = vbCrLf
Next
' Utilise la fonction Filter() pour suprimer les lignes vides via un
filtre
sur VBCRLF
items = Filter(items, vbCrLf, False)
GetTextFileLines = items
End Function
'**************************************************************
'* Fonction qui recupere le path d'un utilisateur et qui le set
'* Avec les informations renvoyer par Check_Path
'* Input : sUserName = le Login Utilisateur
'* Output : Dans Fichier defini par : ts_rep_log et ts_rep
'**************************************************************
Function Detail_prof(ByVal sUsername)
Dim Ousr, sPath , sProfilepath
On Error Resume Next
Err.clear
Set Ousr= GetObject("WinNT:" & domain & "/" & sUsername)
If err.number <> 0 Then
ts_rep.writeline "ERROR: Login Incorect: " & sUsername
Else
sProfilepath=Ousr.Get("Profile")
If Len(sProfilepath) >0 Then
sPath =check_path(sProfilepath)
ts_rep.writeline sProfilepath & " " &sUsername
Else
ts_rep.writeline "ERROR : Pas de Path :" & " " &sUsername
End If
End If
End Function
'*************************************************************
'* Partie Principal du script.
'*
'*************************************************************
Set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FileExists("liste_rep_nt4.txt") then fso.CreateTextFile
"liste_rep_nt4.txt" ' Create a file if not exist.
Set f_rep = fso.GetFile("liste_rep_nt4.txt")
Set f_usr = fso.GetFile("liste_usr.txt")
Set ts_usr = f_usr.OpenAsTextStream(ForReading, TristateUseDefault)
Set ts_rep = f_rep.OpenAsTextStream(ForAppending, TristateUseDefault)
ts_rep.writeline
"*************************************************************"
ts_rep.writeline Now
ts_rep.writeline
"*************************************************************"
fichier=GetTextFileLines
For Each login In fichier
Detail_prof login
Next
ts_usr.Close
ts_rep.Close
Set f_rep = Nothing
Set f_usr = Nothing
Set ts_usr = Nothing
Set ts_rep =Nothing
Set Fso = Nothing
Wscript.echo "Script Fini"
Par hazard tu veut savoir quoi, le chemin de profil de l'utilisateur
courant
ou le chemin de profil dans le domain NT4 ?
voici mon script qui lit dans un fichier la liste des compte utilisateur
et
qui va te generer un log avec tous les profils utilisateur
je l'ai modifier a la va vite, il est possible qu'il reste 1 ou 2 erreur
de
script dedans car je peut plus le tester, j'ai plus de domaine NT4 dispo
en
ce moment
Oublie pas de changer le nom du domain et de remplir le fichier
"liste_usr.txt" qui doit etre dans le meme repertoire que le script.
voila
--------
'*************************************************************
'* Declaration des variable et Constante de fonctionement
'*
'*************************************************************
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
'*************************************************************
'* Definition des Valeur par default
'*
'*************************************************************
Domain = "NOMDUDOMAIN" ' Nom Du Domaine de travail
Domain = "//" & Domain
'*************************************************************
'* Fonction de Cargement du fichier de list de login
'* Input : Nothing
'* Output : Tableau a 1 dimension de liste des utilisateur de taille
varaible
'*************************************************************
Function GetTextFileLines()
Dim FileText ,items , i
' read the file's contents, exit if any error
FileText = ts_usr.ReadAll
' this is necessary, because Split() only accepts 1-char delimiters
FileText = Replace(FileText, vbCrLf, vbCr)
' split the file in individual lines of text
items = Split(FileText, vbCr)
' drop empty lines, if requested
' Defini les lignes Vides dans le tableau est les remplaces par un vbcrlf
'
For i = 0 To UBound(items)
If Len(items(i)) = 0 Then items(i) = vbCrLf
Next
' Utilise la fonction Filter() pour suprimer les lignes vides via un
filtre
sur VBCRLF
items = Filter(items, vbCrLf, False)
GetTextFileLines = items
End Function
'**************************************************************
'* Fonction qui recupere le path d'un utilisateur et qui le set
'* Avec les informations renvoyer par Check_Path
'* Input : sUserName = le Login Utilisateur
'* Output : Dans Fichier defini par : ts_rep_log et ts_rep
'**************************************************************
Function Detail_prof(ByVal sUsername)
Dim Ousr, sPath , sProfilepath
On Error Resume Next
Err.clear
Set Ousr= GetObject("WinNT:" & domain & "/" & sUsername)
If err.number <> 0 Then
ts_rep.writeline "ERROR: Login Incorect: " & sUsername
Else
sProfilepath=Ousr.Get("Profile")
If Len(sProfilepath) >0 Then
sPath =check_path(sProfilepath)
ts_rep.writeline sProfilepath & " " &sUsername
Else
ts_rep.writeline "ERROR : Pas de Path :" & " " &sUsername
End If
End If
End Function
'*************************************************************
'* Partie Principal du script.
'*
'*************************************************************
Set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FileExists("liste_rep_nt4.txt") then fso.CreateTextFile
"liste_rep_nt4.txt" ' Create a file if not exist.
Set f_rep = fso.GetFile("liste_rep_nt4.txt")
Set f_usr = fso.GetFile("liste_usr.txt")
Set ts_usr = f_usr.OpenAsTextStream(ForReading, TristateUseDefault)
Set ts_rep = f_rep.OpenAsTextStream(ForAppending, TristateUseDefault)
ts_rep.writeline
"*************************************************************"
ts_rep.writeline Now
ts_rep.writeline
"*************************************************************"
fichier=GetTextFileLines
For Each login In fichier
Detail_prof login
Next
ts_usr.Close
ts_rep.Close
Set f_rep = Nothing
Set f_usr = Nothing
Set ts_usr = Nothing
Set ts_rep =Nothing
Set Fso = Nothing
Wscript.echo "Script Fini"