我的目标是远程检查一组计算机(广泛的列表),不仅查看服务器是否已重新启动(通常是在上次重新启动时),而且还查看Windows是否在登录屏幕上完全启动并运行,并且不会重新启动以获取更多更新,或者仍在安装更新。
我确实找到了一个名为AppReadiness的服务,该服务将其停止,直到服务器重新启动为止。我担心如果将其设置为手动,则可能无法始终启动。有人可以确认这是否可靠吗?
编辑:当我写这篇文章时,我确实发现它已经停止,直到它说“正在处理更新,已完成100%,请不要关闭计算机”,但是当服务器挂起该消息时,AppReadiness服务启动了。还有什么更好看的吗?我已经阅读过其他有关不同问题的答案,例如检查C $是否可用,但是比AppReadiness可用的时间要早。
用于检查服务的代码:
$creds = Get-Credential -Message "Enter server credentials:" -UserName "SERVERNAME\Administrator"
Get-WmiObject Win32_Service -ComputerName "SERVERIPADDRESS" -Credential $creds | Where-Object {$_.Name -eq "AppReadiness"}
Run Code Online (Sandbox Code Playgroud)
编辑2:另外,除了监视服务之外,我还尝试寻找诸如winlogon.exe和loginui.exe之类的进程来指导服务器的状况,但我没有收到想要记录的结果。我希望这些过程仅在登录GUI可见后才显示,从而显示服务器准备就绪的时间。
编辑3:
此编辑是针对@ Kelv.Gonzales的答案的,他说要检查Windows事件日志“ DHCPv4客户端服务已启动”日志条目。那是行不通的,与我监控的其他服务和事件不相上下。它在登录屏幕之前显示有效。
我的代码是:
$creds = Get-Credential -Message "Enter server credentials:" -UserName "SERVERNAME\Administrator"
$server = "IPADDRESSOFSERVER"
while($true)
{
$event = Get-WmiObject Win32_NTLogEvent -ComputerName $server -Credential $creds -Filter "(logfile='System' AND eventcode = '50036')" | select -First 1
$event.ConvertToDateTime($event.TimeWritten)
Start-Sleep -Seconds 5
}
Run Code Online (Sandbox Code Playgroud) 有很多关于如何使用背景音频代理的例子,但是很少有人展示如何使用背景音频流代理,而我发现的那些代码不显示流式mp3,而是创建一个假装流.
当我创建一个新的Windows Phone Audio Streaming Agent项目时,它给了我:
public class AudioTrackStreamer : AudioStreamingAgent
{
/// <summary>
/// Called when a new track requires audio decoding
/// (typically because it is about to start playing)
/// </summary>
/// <param name="track">
/// The track that needs audio streaming
/// </param>
/// <param name="streamer">
/// The AudioStreamer object to which a MediaStreamSource should be
/// attached to commence playback
/// </param>
/// <remarks>
/// To invoke this method for a track set the Source parameter …Run Code Online (Sandbox Code Playgroud) 让我们假设我有一个十六进制字符串
00 00 04 01 11 00 08 00 06 C2 C1 BC
有了这个,我需要生成第7个,第8个和第9个八位字节.十六进制是
00 06 C2
这个数字原来是1730.通过以下内容,我该如何简化?
byte b1 = 0x00;
byte b2 = 0x06;
byte b3 = 0xC2;
Console.WriteLine(Convert.ToInt32((Convert.ToString(b1, 16)) + (Convert.ToString(b2, 16)) + (Convert.ToString(b3, 16)), 16));
Run Code Online (Sandbox Code Playgroud)
我知道必须有一个更简单的方法.我试过Console.WriteLine((b1 + b2 + b3).ToString());但它不起作用.
我正在努力将VIN数字解码成有用的信息,而对于国家,他们给出了一系列双字母(EG:SA-SM是英国).如何检查SG是否介于SA和SM之间?我正在考虑十六进制,但由于它超过了E,因此无法转换为十六进制.
我需要帮助尝试验证CRC-16值(还需要CRC-32值的帮助).我试着坐下来了解CRC是如何工作的,但我正在画一个空白.
我的第一个问题是当尝试使用在线计算器计算消息" BD001325E032091B94C412AC"到CRC16 = 12AC时.文档说明最后两个八位字节是CRC16值,所以我输入" BD001325E032091B94C4"到网站http://www.lammertbies.nl/comm/info/crc-calculation.html并收到5A90作为结果而不是12AC .
有谁知道为什么这些值不同,我在哪里可以找到如何计算CRC16和CRC32值的代码(我打算稍后学习如何做到这一点,但现在时间不允许)?
还有一些消息如下:
16000040FFFFFFFF00015FCB
3C00003144010405E57022C7
BA00001144010101B970F0ED
3900010101390401B3049FF1
09900C800000000000008CF3
8590000000000000000035F7
00900259025902590259EBC9
0200002B00080191014BF5A2
BB0000BEE0014401B970E51E
3D000322D0320A2510A263A0
2C0001440000D60000D65E54
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
我已经包含了更多信息.我引用的文档是TIA-102.BAAA-A(来自TIA标准).以下是文档中所述的内容(尽量避免侵犯版权):
分组中的最后一个块包括几个八位字节的用户信息和/或填充八位字节,然后是4个八位字节的CRC奇偶校验.这被称为分组CRC.
分组CRC是在中间块中包括的所有数据八位字节和最后块的用户信息的八位字节上编码的4字节循环冗余校验.具体计算如下.
设k是要计算分组CRC的用户信息和填充比特的总数.将k个消息比特视为k-1次多项式M(x)的系数,将第零个消息八位字节的MSB与x ^ k-1和最后一个消息八位字节的LSB与x ^ 0相关联.定义生成多项式GM(x)和反演多项式IM(x).
GM(x)= x ^ 32 + x ^ 26 + x ^ 23 + x ^ 22 + x ^ 16 + x ^ 12 + x ^ 11 + x ^ 10 + x ^ 8 + x ^ 7 + x ^ …