<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Problemi e Soluzioni di un sistemista informatico &#187; windows 2003 server</title>
	<atom:link href="http://blog.maurizio.proietti.name/category/windows-2003-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.maurizio.proietti.name</link>
	<description>Il blog tecnico di Maurizio Proietti a Prato 59100. Info e configurazioni linux microsoft</description>
	<lastBuildDate>Mon, 02 Jan 2012 08:33:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Error &#8211; mount nfs from linux client to windows server</title>
		<link>http://blog.maurizio.proietti.name/2009/02/24/error-mount-nfs-from-linux-client-to-windows-server/</link>
		<comments>http://blog.maurizio.proietti.name/2009/02/24/error-mount-nfs-from-linux-client-to-windows-server/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 08:00:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[fedora 7]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[rete]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[slackware 12]]></category>
		<category><![CDATA[windows 2003 server]]></category>

		<guid isPermaLink="false">http://blog.maurizio.proietti.name/?p=342</guid>
		<description><![CDATA[Ho avuto un problema con il mount di una share nfs windows server 2003 r2 da parte di un client linux. Ottenevo sempre un problema di timeout o un errore di i/o. Nei log c&#8217;era: portmap: server localhost not responding, timed out Il problema si risolve avviando il servizio portmap: su redhat/centos: /etc/init.d/portmap start su [...]]]></description>
			<content:encoded><![CDATA[<p>Ho avuto un problema con il mount di una share nfs windows server 2003 r2 da parte di un client linux.<br />
Ottenevo sempre un problema di timeout o un errore di i/o.<br />
Nei log c&#8217;era:<br />
portmap: server localhost not responding, timed out</p>
<p>Il problema si risolve avviando il servizio portmap:</p>
<p>su redhat/centos:<br />
<code><br />
/etc/init.d/portmap start<br />
</code></p>
<p>su slackware:<br />
<code><br />
chmod ugo+x /etc/rc.d/rc.rpc<br />
/etc/rc.d/rc.rpc start<br />
</code></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.maurizio.proietti.name%2F2009%2F02%2F24%2Ferror-mount-nfs-from-linux-client-to-windows-server%2F&amp;title=Error%20%26%238211%3B%20mount%20nfs%20from%20linux%20client%20to%20windows%20server" id="wpa2a_2"><img src="http://blog.maurizio.proietti.name/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.maurizio.proietti.name/2009/02/24/error-mount-nfs-from-linux-client-to-windows-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gestione degli utenti inattivi su Windows 2003 Server</title>
		<link>http://blog.maurizio.proietti.name/2008/08/07/gestione-degli-utenti-inattivi-su-windows-2003-server/</link>
		<comments>http://blog.maurizio.proietti.name/2008/08/07/gestione-degli-utenti-inattivi-su-windows-2003-server/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 15:07:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[windows 2003 server]]></category>

		<guid isPermaLink="false">http://blog.maurizio.proietti.name/?p=212</guid>
		<description><![CDATA[Oggi ho deciso di ripulire un po&#8217; il dominio. Ho scritto uno script che permette di creare un report e/o di spostare gli account e/o di disattivare gli account che non eseguono l&#8217;accesso al dominio (owa compresa) da un tempo superiore a un numero di giorni settabili a piacere. Se può esservi utile, lo allego [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi ho deciso di ripulire un po&#8217; il dominio.<br />
Ho scritto uno script che permette di<br />
creare un report e/o di spostare gli account e/o di disattivare gli account<br />
che non eseguono l&#8217;accesso al dominio (owa compresa) da un tempo<br />
superiore a un numero di giorni<br />
settabili a piacere.<br />
Se può esservi utile, lo allego di seguito.<br />
E&#8217; uno script VBS<br />
Saluti a tutti<br />
Maurizio Proietti</p>
<p>&nbsp;</p>
<p>&nbsp;<br />
<code><br />
'Option Explicit<br />
'On Error Resume Next</p>
<p>'—— SCRIPT CONFIGURATION ——<br />
'Creo un report? (si/no)<br />
CreaReport = "si"<br />
'Dove creo il report?<br />
ReportFolder = "\\fs3\SW_PKG\ScriptGestione\Report\"<br />
'ReportFileName = year(now())&#038;"_"&#038;month(now())&#038;"_"&#038;day(now())&#038;".txt"<br />
ReportFileName = year(now())&#038;"_"&#038;month(now())&#038;"_"&#038;day(now())&#038;".csv"</p>
<p>'Sposto gli account UTENTE nella OU definita + sotto? (si/no)<br />
MoveUsersAccount = "si"<br />
'Sposto gli account COMPUTER nella OU definita + sotto? (si/no)<br />
MoveComputersAccount = "no"</p>
<p>'Dove sposto gli account utente inattivi<br />
MoveUsersToOU = "OU=Users,OU=z_InactiveAccount,DC=prvprato1,DC=local"<br />
'Dove sposto gli account macchina inattivi<br />
MoveComputersToOU = "OU=Computers,OU=z_InactiveAccount,DC=prvprato1,DC=local"</p>
<p>'Disabilito gli account? (si/no)<br />
DisableUsersAccount = "si"<br />
DisableComputersAccount = "no"</p>
<p>'Quanti giorni di inattività occorrono per spostare gli account e di conseguenza cancellargli la posta? (deve essere >= 15)<br />
InactiveDaysToMoveAccounts = 90</p>
<p>'Quanti giorni di inattività occorrono per disabilitare gli account? (deve essere >= 15)<br />
InactiveDaysToDisableAccounts = 45</p>
<p>'Dove ricerco<br />
strDomainDN = "CN=Users,DC=prvprato1,DC=local"</p>
<p>'strDomainDN = "DC=prvprato1,DC=local<br />
'strDomainDN = "CN=test3,CN=Users,DC=prvprato1,DC=local"<br />
'strDomainDN = "OU=Users,OU=z_InactiveAccount,DC=prvprato1,DC=local"<br />
'strDomainDN = "DC=prvprato1, DC=local"</p>
<p>' —— END CONFIGURATION ———</p>
<p>'Option Explicit</p>
<p>'——–   Cerco e scrivo il lastLogonTimeStamp x utenti ———————</p>
<p>Const OPEN_FILE_FOR_APPENDING = 8</p>
<p>Dim objRootDSE, adoConnection, adoCommand, strQuery<br />
Dim adoRecordset, strDNSDomain, objShell, lngBiasKey<br />
Dim lngBias, k, strDN, dtmDate, objDate<br />
Dim strBase, strFilter, strAttributes, lngHigh, lngLow</p>
<p>' Obtain local Time Zone bias from machine registry.<br />
Set objShell = CreateObject("Wscript.Shell")<br />
lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\" _<br />
&#038; "TimeZoneInformation\ActiveTimeBias")<br />
If (UCase(TypeName(lngBiasKey)) = "LONG") Then<br />
lngBias = lngBiasKey<br />
ElseIf (UCase(TypeName(lngBiasKey)) = "VARIANT()") Then<br />
lngBias = 0<br />
For k = 0 To UBound(lngBiasKey)<br />
lngBias = lngBias + (lngBiasKey(k) * 256^k)<br />
Next<br />
End If<br />
Set objShell = Nothing</p>
<p>' Determine DNS domain from RootDSE object.<br />
Set objRootDSE = GetObject("LDAP://RootDSE")<br />
strDNSDomain = objRootDSE.Get("defaultNamingContext")<br />
Set objRootDSE = Nothing</p>
<p>' Use ADO to search Active Directory.<br />
Set adoCommand = CreateObject("ADODB.Command")<br />
Set adoConnection = CreateObject("ADODB.Connection")<br />
adoConnection.Provider = "ADsDSOObject"<br />
adoConnection.Open "Active Directory Provider"<br />
adoCommand.ActiveConnection = adoConnection</p>
<p>' Search entire domain.<br />
'Nella ver originale c’era questo, ma a me interessa solo la CN=USERS<br />
'strBase = "<LDAP://" &#038; strDNSDomain &#038; ">"<br />
strBase = "<LDAP://" &#038; strDomainDN &#038; ">"</p>
<p>' Filter on all user objects.<br />
'strFilter = "(&#038;(objectCategory=person)(objectClass=user))"<br />
strFilter = "(&#038;(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"</p>
<p>' Comma delimited list of attribute values to retrieve.<br />
strAttributes = "cn,distinguishedName,lastLogonTimeStamp"</p>
<p>' Construct the LDAP syntax query.<br />
strQuery = strBase &#038; ";" &#038; strFilter &#038; ";" &#038; strAttributes &#038; ";subtree"</p>
<p>' Run the query.<br />
adoCommand.CommandText = strQuery<br />
adoCommand.Properties("Page Size") = 100<br />
adoCommand.Properties("Timeout") = 60<br />
adoCommand.Properties("Cache Results") = False<br />
Set adoRecordset = adoCommand.Execute</p>
<p>'Creo il report VUOTO<br />
If (CreaReport = "si") Then<br />
Dim objFileSystem, objOutputFile<br />
Dim strOutputFile<br />
strOutputFile = ReportFolder &#038; ReportFileName<br />
Set objFileSystem = CreateObject("Scripting.fileSystemObject")<br />
Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)<br />
objOutputFile.WriteLine("distinguishedName;" &#038; "CN;" &#038; "lastLogonTimeStamp;" &#038; "InactiveDays;" &#038; "Action;" &#038; "operazioni eseguite")<br />
objOutputFile.Close<br />
Set objFileSystem = Nothing<br />
End If</p>
<p>' Enumerate resulting recordset.<br />
Do Until adoRecordset.EOF<br />
LogAction = "0?<br />
Action = "0?<br />
' Retrieve attribute values for the user.<br />
strDN = adoRecordset.Fields("distinguishedName").Value<br />
strCN = adoRecordset.Fields("cn").Value<br />
' Convert Integer8 value to date/time in current time zone.<br />
On Error Resume Next<br />
Set objDate = adoRecordset.Fields("lastLogonTimeStamp").Value<br />
If (Err.Number <> 0) Then<br />
On Error GoTo 0<br />
dtmDate = #1/1/1601#<br />
Else<br />
On Error GoTo 0<br />
lngHigh = objDate.HighPart<br />
lngLow = objDate.LowPart<br />
If (lngLow < 0) Then<br />
lngHigh = lngHigh + 1<br />
End If<br />
If (lngHigh = 0) And (lngLow = 0 ) Then<br />
dtmDate = #1/1/1601#<br />
Else<br />
dtmDate = #1/1/1601# + (((lngHigh * (2 ^ 32)) _<br />
+ lngLow)/600000000 – lngBias)/1440<br />
End If<br />
End If<br />
' Display values for the user.<br />
InactiveDays = DateDiff("d", dtmDate, now)<br />
'———————– Sez disabilita utente ————————————————<br />
If (DisableUsersAccount = "si") Then<br />
If (InactiveDays >= InactiveDaysToDisableAccounts) Then<br />
'DISABILITO UTENTE<br />
set objUser = GetObject("LDAP://" &#038; strDN)<br />
if (objUser.AccountDisabled = FALSE) then<br />
LogAction = "Account disabled by script"<br />
objUser.AccountDisabled = TRUE<br />
objUser.SetInfo<br />
else<br />
LogAction = "Account già disabilitato"<br />
end if<br />
End If<br />
set objUser = Nothing<br />
End If<br />
'—————— FINE DISABILITA UTENTE ———————–</p>
<p>'———————– Sez sposta utente ————————————————<br />
If (MoveUsersAccount = "si") Then<br />
If (InactiveDays >= InactiveDaysToMoveAccounts) Then<br />
strObjectDN    = "LDAP://" &#038; strDN<br />
strObjectRDN   = "cn=" &#038; strCN<br />
'SPOSTO UTENTE<br />
set objMoveUsersToOU = GetObject("LDAP://" &#038; MoveUsersToOU)<br />
objMoveUsersToOU.MoveHere strObjectDN, strObjectRDN<br />
LogAction = LogAction &#038; " – Account spostato dallo script"<br />
End If<br />
set objMoveUsersToOU = Nothing<br />
End If<br />
'—————— FINE SPOSTA UTENTE ———————–</p>
<p>'———————– Sez REPORT ————————————————<br />
If (CreaReport = "si") Then<br />
If (dtmDate = #1/1/1601#) Then<br />
dtLastLogon= "Never"<br />
Else<br />
dtLastLogon = dtmDate<br />
End If<br />
If (InactiveDays >= InactiveDaysToDisableAccounts) Then<br />
Action = "To Disable"<br />
End If<br />
If (InactiveDays >= InactiveDaysToMoveAccounts) Then<br />
Action = "To Move and Delete emails"<br />
End If<br />
'Dim objFileSystem, objOutputFile<br />
'Dim strOutputFile</p>
<p>' generate a filename base on the script name<br />
strOutputFile = ReportFolder &#038; ReportFileName</p>
<p>Set objFileSystem = CreateObject("Scripting.fileSystemObject")<br />
Set objOutputFile = objFileSystem.OpenTextFile(strOutputFile, OPEN_FILE_FOR_APPENDING)<br />
objOutputFile.WriteLine(strDN &#038; ";" &#038; strCN &#038; ";" &#038; dtmDate &#038; ";" &#038; InactiveDays &#038; ";" &#038; Action &#038; ";" &#038; LogAction)<br />
objOutputFile.Close</p>
<p>Set objFileSystem = Nothing<br />
End if<br />
' ————————– FINE REPORT ———————————<br />
adoRecordset.MoveNext</p>
<p>Loop</p>
<p>' Clean up.<br />
adoRecordset.Close<br />
adoConnection.Close<br />
Set adoConnection = Nothing<br />
Set adoCommand = Nothing<br />
Set adoRecordset = Nothing<br />
Set objDate = Nothing<br />
</code></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.maurizio.proietti.name%2F2008%2F08%2F07%2Fgestione-degli-utenti-inattivi-su-windows-2003-server%2F&amp;title=Gestione%20degli%20utenti%20inattivi%20su%20Windows%202003%20Server" id="wpa2a_4"><img src="http://blog.maurizio.proietti.name/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.maurizio.proietti.name/2008/08/07/gestione-degli-utenti-inattivi-su-windows-2003-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

