[DllImport("advapi32.dll", EntryPoint = "CredDeleteW", CharSet = CharSet.Unicode)]
private static extern bool CredDelete(string target, CRED_TYPE type, int flags);
Public Declare Unicode Function CredDelete Lib "advapi32.dll" Alias "CredDeleteW" ( ByVal TargetName As String, ByVal Type As Integer, ByVal Flags As Integer) As Boolean
private enum CRED_TYPE
{
GENERIC = 1,
DOMAIN_PASSWORD = 2,
DOMAIN_CERTIFICATE = 3,
DOMAIN_VISIBLE_PASSWORD = 4,
MAXIMUM = 5
}
The CredDelete 'type' method parameter (int) must be one of the constant CRED_TYPE_* values.
Please add some!
C# Sample:
CredDelete("YourTarget", CRED_TYPE.GENERIC, 0);
Powershell Sample:
$sig = @"
[DllImport("advapi32.dll", EntryPoint = "CredDeleteW", CharSet = CharSet.Unicode)]
static extern bool CredDelete(string target, int type, int flags);
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct Credential
{
public UInt32 flags;
public UInt32 type;
public IntPtr target;
}
"@
Add-Type -MemberDefinition $sig -Namespace "ADVAPI32" -Name 'Util'
$cred = New-Object ADVAPI32.Util+Credential
$cred.flags = 0
$cred.type = 2
$cred.target = [System.Runtime.InteropServices.Marshal]::StringToCoTaskMemUni('server')
TODO