Re: How do I convert sid retrieved from the AD to SDDL string form
- From: "Henning Krause [MVP - Exchange]" <newsgroups_remove@xxxxxxxxxxxxxxxxx>
- Date: Wed, 17 Jan 2007 08:36:11 +0100
Hello,
you are converting the sid byte[] to a string (using .ToString). This will end up with something like "System.Byte[]". You must extract the byte[] from the entry and pass it to the SecurityIdentifier constructor.
Best regards,
Henning Krause
"Pucca" <Pucca@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:756E26D8-7D34-41A7-823C-09003CE55E6B@xxxxxxxxxxxxxxxx
As shown in my code, that's what I'm trying to do but it's not working.
SecurityIdentifier si = new
SecurityIdentifier(dsReport.Tables["AdComputers"].Rows[y][0].ToString());
I'm getting the following exception error at run time:
System.ArgumentException:Value was invalid. Parameter name:sddlForm at
System.Security.principal.SecurityIdentifier..ctor(String sddlForm)
--
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 format?
- Prev by Date: Re: How do I convert sid retrieved from the AD to SDDL string form
- Next by Date: Application Problem on Windows 2003 Server
- Previous by thread: Re: How do I convert sid retrieved from the AD to SDDL string form
- Next by thread: Password protection
- Index(es):
Relevant Pages
|