这与此问题类似,但不是愚蠢- 但是,它寻求有关手动将服务器加入域(并且被正确重定向)的信息,我正在寻找有关以编程方式将计算机连接到域的一些代码的帮助.
场景是我们有一个启动器服务来实例化Amazon EC2 Server2008R1 VM,可选择通过User-Data流传递Machine Name.我们的映像中包含一个进程,用于在启动时检查用户数据的名称 - 如果不存在,则VM仍在我们的Cloud域之外,但如果存在该名称,则计算机将重命名为指定并自动加入到域名.
这是问题所在 - 如果我在实例启动后的任何时间手动运行此过程,它的工作方式完全如上所述; 机器名称已更改,并且VM已加入域(我们强制重新启动以实现此目的).
但是,当作为计划任务(在启动时触发)运行时,机器重命名按预期发生,但随后的调用JoinDomainOrWorkgroup(见下文)通过EC2而不是它具有的新名称来获取给VM的旧随机机器名称.刚被分配.
这导致WMI返回代码为8525,我们在AD存储库(该随机名称)中获得了一个断开连接的错误名称条目,并且该机器未加入该域.然后VM重新启动,第二次通过启动过程(异常触发,因为User-Data中有内容,但机器尚未在域中)执行所有相同的步骤并成功.
看起来机器名称在第一次通过时设置但未"完成",JoinDomainOrWorkgroup仍然看到原始名称.在第二次传递时,机器名称已正确设置,因此JoinDomainOrWorkgroup按预期工作.为什么这个过程在启动过程中会以这种方式运行,但是在已经启动的VM上手动运行时工作正常,我认为是问题的核心.
我已经尝试在重命名和连接步骤之间插入一个延迟,以防在JoinDomainOrWorkgroup重命名在幕后完成之前发生调用,但这没有帮助 - 我并没有真正期望它,因为整个过程手动运行时效果很好.因此,它可能是启动期间机器状态的细微差别和代码中的愚蠢差异的组合.
也许System.Environment.MachineName在SetDomainMembership方法中使用是不可取的?但即使我像我一样将新名称作为字符串传递,它也会失败SetMachineName.所以我很难过.
这是重命名机器的WMI代码:
/// <summary>
/// Set Machine Name
/// </summary>
public static bool SetMachineName(string newName)
{
_lh.Log(LogHandler.LogType.Debug, string.Format("Setting Machine Name to '{0}'...", newName));
// Invoke WMI to populate the machine name
using (ManagementObject wmiObject = new ManagementObject(new ManagementPath("Win32_ComputerSystem.Name='" + System.Environment.MachineName + "'")))
{ …Run Code Online (Sandbox Code Playgroud) 全部,我正在寻找一个软件/工具,它可以让我在模拟器中捕获我的应用程序.我看到了很多应用程序视频,它们执行应用程序的功能并在视频中捕获它.
请为我的应用推广推荐一些视频捕捉工具.
建议总是受到赞赏.问候
time1 = "2010-04-20 10:07:30"
time2 = "2010-04-21 10:07:30"
Run Code Online (Sandbox Code Playgroud)
如何将上面的字符串转换为时间戳?
我需要减去上面的时间戳time2-time1.
主要申请表不能在TaskBar中显示的原因是什么?
ShowInTaskbar属性设置为"true",但是如果在运行应用程序之后并且在Main表单出现之前,表单不会显示在那里我切换到其他窗口.表单存在,但在我最小化上面的应用程序以使其可见之前,它将不会显示在任务栏中.
UPDATE.表格没有所有者.
我在理解@async注释的某个方面时遇到了一些困难,可能还有整个线程和线程池的工作方式.当我在spring配置文件中设置它时:
<task:executor id="WhifExecutor" pool-size="10"/>
<task:annotation-driven executor="WhifExecutor" />
Run Code Online (Sandbox Code Playgroud)
这不意味着只会启动10个线程吗?然而,当我运行一个具有@async 1000次的函数时,它会立即继续调用后的其余代码(控制台中会显示一条简单的消息来显示函数被调用的次数).然后一段时间后,池函数开始返回它们的值,但奇怪的是只有1个池和10个不同的线程.这里发生了什么?如何调用所有这1000个函数但只使用10个线程?它是否可能在启动线程之前将所有这些都放在某个堆栈上?我尝试阅读有关此文档的文档,但我找不到任何有关此现象的信息.
还有,有没有办法让它等待线程开始运行,这样我就不会立即调用几千个函数?
任何人都知道如何在NetBeans(v6.9.1)上执行"在项目中查找"时忽略构建文件夹.
目前,搜索结果窗格显示了src文件夹中的所有结果,但也显示了构建文件夹中的结果,因此,如果您的项目包含大量JSP文件,那么很多结果都会重复...
我不熟悉C++,因为我是C#开发人员.
在我的项目中,我需要删除一周之前的所有文件夹.在C++中,如何根据当前系统日期时间获取一周之前的文件夹列表?
我正在研究在Ubuntu 10.10上运行的Eclipse IDE.
如果您可以提供一些代码示例,那就太棒了.
在此先感谢您的帮助,非常感谢!
我是一个关于使用java的bouncycastle进行加密的项目.
但是,当我加密消息时,它会为我抛出异常.
javax.crypto.IllegalBlockSizeException:数据不是块大小对齐
我正在使用Blowfish/ECB/NoPadding,消息是一个xml.
public static void main(String args[]){
String message = "<abc>ABCDEFG</abc>";
String key = "key";
byte[] b = encrypt(message.getBytes(), key.getBytes());
}
public byte[] encrypt(byte encrypt[], byte en_key[]) {
try {
SecretKeySpec key = new SecretKeySpec(en_key, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, en_key);
return cipher.doFinal(encrypt);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我吗?
谢谢
我需要发送一些数据Activity,这些数据可能在不同的上下文中运行.为此,我创建了一个类A,它有一个ArrayList数据类型,说B作为实例成员之一.我将B类声明为A类的内部类.为了发送这个A类的实例Intent,我做了A类和B类Parcelable.
类结构是这样的(这不包括完整的代码,例如为编写类而编写的代码Parcelable):
public class A implements Parcelable{
public class B implements Parcelable{
public ArrayList<String> value;
....
....
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(value);
}
....
....
}
public List<B> group;
public String name;
....
....
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(group);
dest.writeString(name);
}
....
....
}
Run Code Online (Sandbox Code Playgroud)
我用这个putExtra (String name, Parcelable value)函数来放数据.
但在接收方,我得到以下例外:
Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 1087): 1289817569622 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Eclipse中编译的一些Java代码遇到一些麻烦.我一直收到以下警告......
Access restriction: The type OperatingSystemMXBean is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar
Run Code Online (Sandbox Code Playgroud)
从这行代码......
com.sun.management.OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) java.lang.management.ManagementFactory.getOperatingSystemMXBean();
Run Code Online (Sandbox Code Playgroud)
我已经找到了解决方法,但我担心限制警告.这段代码适用于我的开源项目(CfTracker),如果我打算违反某种许可协议,我不想解决这个限制.任何人都可以帮我理解这个吗?
java ×3
amazon-ec2 ×1
android ×1
asynchronous ×1
c# ×1
c#-2.0 ×1
c++ ×1
datetime ×1
dns ×1
iphone ×1
linux ×1
netbeans ×1
netbeans-6.9 ×1
parcelable ×1
python ×1
spring ×1
strptime ×1
taskbar ×1
threadpool ×1
winforms ×1
wmi ×1