Re: How do I convert sid retrieved from the AD to SDDL string form
- From: Pucca <Pucca@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 17 Jan 2007 16:47:02 -0800
Yes, you're right Joe. I changed my code to using DirectorySearcher and then
I put the data into a datarow and then add it to my data table with sid in
SDDL string format.
--
Thanks.
"Joe Kaplan" wrote:
It needs to be a byte[], because the data is a variable length byte array..
AD SIDs are generally bigger than GUIDs, so that isn't a good idea. I think
the problem from your previous code sample was that you were calling
ToString on the data.
I'm still confused why you are using OLEDB for searching AD, but whatever
works for you...
Joe K.
--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services Programming"
http://www.directoryprogramming.net
--
"Pucca" <Pucca@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:A498835F-3C6E-4569-B83E-B897B1D90025@xxxxxxxxxxxxxxxx
In the Dataset table definition, what type should I set for storing SID,
which is a byte[]. I tried GUID type but it doesn' like it.
--
Thanks.
"Henning Krause [MVP - Exchange]" wrote:
Hello,
if you are using .NET 2.0, you can pass the byte[] you get from the
objectSid property to a SecurityIdentifier class.
Otherwise, you have at least these options:
1) (easy one) Call the Win32 function ConvertSidToStringSid.
2) (more difficult, but more flexibility) Call the Win32 DsCrackNames
function
Best regards,
Henning Krause
"Pucca" <Pucca@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:0972CEEE-1D2D-4605-8C4B-3B4995A2195D@xxxxxxxxxxxxxxxx
I retrieve sid from AD into a dataset table. How can I convert this to
SDDL
format string? My code below is not working.
ReportPreview repPreview = new ReportPreview();
string AdSelect = "select objectSid, cn, operatingSystem,
operatingSystemVersion from 'LDAP://CN=Computers," +
delimitedDomain + "'";
string padSelect = "Select cn, meetingName from " +
globalCompPath;
string temp;
int rs, num;
OleDbConnection adCon = new
OleDbConnection("Provider=ADsDSOObject");
OleDbDataAdapter qryAdapter = new OleDbDataAdapter(AdSelect,
adCon);
try
{
DataRow newRow = dsReport.Tables["Computers"].NewRow();
qryAdapter.Fill(dsReport, "AdComputers");
num = dsReport.Tables["AdComputers"].Rows.Count;
for (int y = 0; y <
dsReport.Tables["AdComputers"].Rows.Count; y++)
{
SecurityIdentifier si = new
SecurityIdentifier(dsReport.Tables["AdComputers"].Rows[y][0].ToString());
dsReport.Tables["AdComputers"].Rows[y][0] =
si.Value;
}
--
Thanks.
- References:
- Re: How do I convert sid retrieved from the AD to SDDL string format?
- From: Henning Krause [MVP - Exchange]
- Re: How do I convert sid retrieved from the AD to SDDL string form
- From: Joe Kaplan
- Re: How do I convert sid retrieved from the AD to SDDL string format?
- Prev by Date: Application Problem on Windows 2003 Server
- Next by Date: Re: How do I convert sid retrieved from the AD to SDDL string form
- Previous by thread: Re: How do I convert sid retrieved from the AD to SDDL string form
- Next by thread: Re: How do I convert sid retrieved from the AD to SDDL string form
- Index(es):
Relevant Pages
|