.NET
Quando si installa windows 2008 è possibile scegliere l'opzione "Core" che, a parte una nuda schermata cmd, non propone altro.
Qualche immagine, per chi non avesse ancora installato la RC0, è disponibile a questo indirizzo: http://4sysops.com/archives/windows-server-longhorn-server-core-essentials/
Technorati Tag: windows 2008 rc0 , windows 2008 core , sysadmin
Cercando informazioni sull'algoritmo di Dijkstra ho
trovato questa implementazione in C# 2.0 delle strutture dati ad opera di
Scott Mitchell, uno dei fondatori di 4guysfromrolla.com.Più in basso è disponibile l'implementazione
dell'era pre-generics
powered by IMHO 1.3
Una nota poco simpatica, ma da
tenere ben presente, per tutti coloro che lavorano con i file e che utilizzano i
loro attributi: il dato FileInfo.LastWriteTime non è
completamente affidabile.".. the last
write time is not fully updated until all handles that are used for writing are
closed. This is the most likely reason that the customer saw the last write time
reported incorrectly ... "Maggiori info:http://blogs.msdn.com/bclteam/archive/2006/07/25/674253.aspx
powered by IMHO 1.3
E' stata rilasciata la nuova versione (4.0) del
Microsoft Solution for WBH. Contiene una serie di tools, best practices ed
esempi di codice.Tra le altre
cose nei samples è presente un webservice per la gestione di IIS.Scarica >
powered by IMHO
1.3
Esistono numerosi tool (tra i quali secondo me il
migliore è xcacls, qui nella versione scripting) che
permettono di lavorare con i permessi NTFS.
Un'altra
strada possibile è quella di utilizzare WMI
per accedere a questo tipo di informazioni.Il piccolo script qui sotto
mostra l'utilizzo della classe Win32_LogicalFileSecuritySetting
per scoprire
quali sono gli utenti e i permessi associati ad una determinata cartella (o
file):
public void MostraACL(string Path) { using (ManagementObject mob = new ManagementObject("root\\CIMV2", "Win32_LogicalFileSecuritySetting.Path='" + Path + "'", null)) { //eseguo il metodo GetDescriptor per ottenere gli elementi object[] obs = new object[] { 0 }; ManagementBaseObject mbase = (ManagementBaseObject)mob.InvokeMethod("GetSecurityDescriptor", null, null); //controllo che esistano dei valori if (((uint)(mbase.Properties["ReturnValue"].Value)).Equals(0)) { ManagementBaseObject desc = (ManagementBaseObject)(mbase.Properties["Descriptor"].Value); ManagementBaseObject[] ACL = ((ManagementBaseObject[])(desc.Properties["Dacl"].Value)); //vediamo quali sono i permessi della cartella.. foreach (ManagementBaseObject mba in ACL) { //Dominio, Utente e SID ManagementBaseObject IUSR = ((ManagementBaseObject)(mba["Trustee"])); Console.WriteLine("=================================="); /* Mostro Dominio\Utente : Sid */ Console.WriteLine("{0}\\{1} : {2}", IUSR.Properties["Domain"].Value, IUSR.Properties["Name"].Value, IUSR.Properties["SIDString"].Value); /* Mostro i permessi */ uint m = (uint)mba["AccessMask"]; Console.WriteLine(":" + Enum.Format(typeof(Mask), m, "G")); /* Mostro la tipologia di permesso*/ int a = int.Parse(mba["AceFlags"].ToString()); Console.WriteLine(":" + Enum.Format(typeof(AceFlags), a, "G")); Console.WriteLine("=================================="); } Console.Read(); } } }
Maggiori informazioni sulle classi Win32_LogicalFileSecuritySetting >
powered by IMHO 1.3
Ho sempre preferito nettamente C# (sintassi
e leggibilità tra le altre cose) ma ammetto che quando vedo:
My
.Computer.FileSystem.CopyDirectory("c:\inetpub\iissamples", "c:\samples")
Provo un forte impulso a usare Visual Basic ... (my.computer.filesystem su msdn)
powered by IMHO 1.3
Un wrapper (rigorosamente .NET ) per poter utilizzare Flickr... A
questo indirizzo >
Per adesso non l'ho provato... ma mi sembra interessante ....
powered by IMHO 1.3
Con Permcalc.exe è possibile determinare i permessi di cui necessita un assembly (ad esempio nel caso voglia effettuare un deploy su un ambiente in medium trust):
"Starting from the entry point of the application, the tool traces all code paths through all application assemblies and the shared and system libraries called from the application. The tool maintains a simulated call stack that contains all the assemblies involved in the code path trace. On every code path trace, the tool checks for the presence of declarative demands, link demands, and declarative stack walk modifiers [..]"
Per maggiori info
powered by IMHO 1.3
E' possibile creare Virtual
Directory sia utilizzando ADSI che WMI anche se entrambe le soluzioni richiedono
più di 5 righe di codice .Usando EnterpriseServices invece è
possibile ...
using System.EnterpriseServices.Internal;[..]//creazione della virtual DirectoryIISVirtualRoot vr = new IISVirtualRoot();string sError = "";vr.Create("IIS://localhost/W3SVC/1/ROOT",@"c:\inetpub\myvdir","MyVDir",out sError);//cancellazione della virtual Directoryvr.Delete("IIS://localhost/W3SVC/1/ROOT",@"c:\inetpub\myvdir","MyVDir",out sError);
powered by IMHO 1.2