我对这段代码有点困难,特别是PrincipalSearcher.我正在尝试获取与特定OU关联的所有组的列表.
我试图在所有组范围下返回"安全"组,不包括通讯组.
我遇到的问题是,除了我打算返回之外,它还会返回这些内置组.
HelpServicesGroup TelnetClients管理员用户访客打印操作员备份操作员复制器远程桌面用户网络配置操作员性能监视器用户性能日志用户分布式COM用户域计算机域控制器架构管理员企业管理员证书发布者域管理员域用户域访客组策略创建者所有者RAS和IAS服务器服务器运营商帐户运营商Pre-Windows 2000兼容访问传入林信任构建器Windows授权访问组终端服务器许可证服务器DnsAdmins DnsUpdateProxy IIS_WPG
我不确定范围是否可能不正确或者我错过了某种过滤.
相关代码段:
public static ArrayList GetAllGroups()
{
var myItems = new ArrayList();
var ctx = new PrincipalContext(ContextType.Domain,"MyOU");
// define a "query-by-example" principal - here, we search for a GroupPrincipal
var qbeGroup = new GroupPrincipal(ctx);
// create your principal searcher passing in the QBE principal
var srch = new PrincipalSearcher(qbeGroup);
// find all matches
foreach (Principal found in srch.FindAll())
{
var foundGroup = found as GroupPrincipal;
if (foundGroup != null)
{
myItems.Add(foundGroup.Name);
} …Run Code Online (Sandbox Code Playgroud) 我试图在"c:\ Users"中迭代窗口中的用户文件夹列表但排除了microsoft内置用户文件夹,下面是我用来完成此专长的代码段但是由于某种原因不按预期工作.
private readonly List<String> _exclusion = new List<String>
{
"All Users",
"Default",
"LocalService",
"Public",
"Administrator",
"Default User",
"NetworkService"
};
public static bool FoundInArray(List<string> arr, string target)
{
return arr.Exists(p => p.Trim() == target);
}
foreach (string d in Directory.GetDirectories(sDir).Where(d => !FoundInArray(_exclusion,d)))
{
richTextBox1.Text += d + Environment.Newline;
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么这不起作用,有人可以为我提供一些见解吗?
我正在尝试进行一些转换,并希望使用Linq来实现以下目标,
十进制到十六进制,十进制到Ascii,十六进制到十进制,十六进制到Ascii
有人可以告诉我如何在Linq中有效地做到这一点?我将把输出显示到文本框中.
另外,我还需要包含前缀和分隔符字段,
例:
string input = txtAscii.Text;
string delim = txtDelimiter.Text;
string prefix = txtPrefix.Text;
if (checkBox1.Checked == true && string.IsNullOrEmpty(delim)) delim = " ";
//Linq, Ascii to Decimal.
txtDecimal.Text = string.Join(delim, input.Select(c => prefix + ((int)c).ToString()));
Run Code Online (Sandbox Code Playgroud)
谢谢大家.
所以我有这两个功能,
public static string[] CharToHex(string str, string prefix, string delimeter)
{
List<string> list = new List<string>();
foreach (char c in str)
{
list.Add(prefix + String.Format("{0:X2}",(int)c) + delimeter);
}
return list.ToArray();
}
public static string[] StrToChar(string str, string prefix, string delimeter)
{
List<string> list = new List<string>();
foreach (char c in str)
{
list.Add(prefix + (int)c + delimeter);
}
return list.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
基本上,我试图在标签中显示两个返回数组的总和值。
我创建了一个函数来计算总和,
public static string ArraySum(int[] array)
{
string sum = array.Sum().ToString();
return sum;
}
Run Code Online (Sandbox Code Playgroud)
另一个函数获取字符串数组并将其转换为字符串,
public static string …Run Code Online (Sandbox Code Playgroud) 我正在尝试grep /etc/passwd并/etc/group列出所有用户和用户所属的每个组.
IE:
Jon Doe, root:randomgroup:randomgroup2:randomgroup3
Billy Bob, admin:apache:backups
Timmy Tim, root:www
Run Code Online (Sandbox Code Playgroud)
无论如何,这是我到目前为止,但我不完全确定如何让grep组和用户字段匹配.
cat /etc/passwd | cut -d: -f1,5
Run Code Online (Sandbox Code Playgroud)
这仅显示用户带有":"和全名
我该怎么做呢?