Get-ChildItem `
'HKCU:\Software\Microsoft\Terminal Server Client\Servers' |
ForEach-Object {
$p = Get-ItemProperty $_.PSPath
[PSCustomObject]@{
Server = $_.PSChildName
Username = $p.UsernameHint
}
}
Show RDP connections with credentials in PowerShell
Override one virtual function multiple times in C++
The code below does not compile in C++:
template <class Result, class... Params>
class Slot
{
public:
virtual Result operator()(Params ... args) = 0;
};
Investigating Credential Providers on Windows
I registered a sample Credential Provider with the following .reg file:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}]
@="SampleV2CredentialProvider"
[HKEY_CLASSES_ROOT\CLSID\{5fd3d285-0dd9-4362-8855-e0abaacd4af6}\InprocServer32]
@="SampleV2CredentialProvider.dll"
"ThreadingModel"="Apartment"
Generating Events 8004 and 8005 in Windows Logs
On DC with IP address 192.168.0.123:
wevtutil sl Microsoft-Windows-NTLM/Operational /e:true
wevtutil qe Microsoft-Windows-NTLM/Operational /q:"*[System[(EventID=8004 or EventID=8005)]]" /f:text
net share
Share name Resource Remark
-------------------------------------------------------------------------------
C$ C:\ Default share
IPC$ Remote IPC
ADMIN$ C:\Windows Remote Admin
NETLOGON C:\Windows\SYSVOL\sysvol\my.local\SCRIPTS
Logon server share
SYSVOL C:\Windows\SYSVOL\sysvol Logon server share
The command completed successfully.
Installing LDAPS certificate on Windows 10
I realized that my LDAPS certificate is not trusted with the following command in PowerShell:
certutil -verify ldap.crt
Why do we pass parameters to coroutines by value in C++?
C++ coroutines and const reference parameters
A coroutine func accepts a parameter by const reference in the code below:
#include <boost/asio.hpp>
#include <iostream>
namespace asio = boost::asio;
using asio::awaitable;
using asio::use_awaitable;
class Param
{
public:
Param(int val) : m_val(val)
{
std::cout << "Param constructor " << m_val << std::endl;
}
Using BOOST 1.89 with BOOST_ASIO_HAS_IO_URING on Linux
Added the following to the common section of CMake:
add_definitions("-DBOOST_ASIO_HAS_IO_URING")
and the following to the project section:
find_library(URING_LIB uring)
target_link_libraries(${TEST_TARGET} PRIVATE ${URING_LIB})
Experimentations with LDAP/SASL on Ubuntu
SASL
I configured Kerberos on Ubuntu 24.04 WSL and was able to run the following command:
export KRB5_TRACE=/dev/stderr
ldapsearch -H ldap://myserver.my.local -Y GSSAPI
that produced the following output:
(more…)

