Tag Archives: New

Windows: Download appx packages from Microsoft Store (Example install the new Windows Terminal offline)

Hi,

the store itself does not have an option to download appx packages directly from the Windows store.
Continue reading Windows: Download appx packages from Microsoft Store (Example install the new Windows Terminal offline)

Advertisment to support michlstechblog.info

Linux: Disable assignment of new styled names for network interfaces

Hi,

newer Linux distribution do assign network names like enp0s13 or eno1 instead of the old style ethx names.
Continue reading Linux: Disable assignment of new styled names for network interfaces

Linux: Rescan for new and changes of devices

Hi,

with virtualization it simply possible to change systems within a few mouse clicks. For example adding new disks or increasing the disk size of a hard disk without a reboot.
Continue reading Linux: Rescan for new and changes of devices

Windows: Create a new local User Account and add them to a local group by using .NET and C#

Hi,

a short post. It describes how to create a new local Windows User account and add them to an existing local user group.

First of all, include the following references in your project:


using System.DirectoryServices;
using System.Runtime.InteropServices;

Create a new User with local administrator rights.

// define Username and Password
const string USER_NAME = "NewAdmin";
char[] aPWchars = { 'P', 'a', 's', 's' , 'w', 'o', 'r', 'd'};
System.Security.SecureString oPW = new System.Security.SecureString();
foreach (char cChr in aPWchars) {
    oPW.AppendChar(cChr);
}
// Get Computerobject via ADSI
DirectoryEntry oComputer = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
// New User
DirectoryEntry oNewUser = oComputer.Children.Add(USER_NAME, "user");
// define Pointer to a string
IntPtr pString = IntPtr.Zero;
// Pointer to password
pString = Marshal.SecureStringToGlobalAllocUnicode(oPW);
// Set password
oNewUser.Invoke("SetPassword", new object[] { Marshal.PtrToStringUni(pString) });
// Add a description
oNewUser.Invoke("Put", new object[] { "Description", "New Administrator" });
// Save changes
oNewUser.CommitChanges();
// Cleanup and free Password pointer
Marshal.ZeroFreeGlobalAllocUnicode(pString);
// Get Group
DirectoryEntry oGroup = oComputer.Children.Find("Administrators", "group");
// And add the recently created user
oGroup.Invoke("Add", new object[] { oNewUser.Path.ToString() });

Michael