Invoke-WmiMethod在脚本中遇到问题,在对某些计算机运行时会挂起.我想要做的是执行命令,如果它在一段确定的时间内没有返回(例如60到120秒),那么继续(将救助记录到文件中.)我目前唯一知道的方法尝试这样做是使用-AsJob参数; 但是,当我尝试这样做时,生成的作业会立即失败(即使Invoke-WmiMethod是在没有-AsJob添加参数的情况下语句正常工作的计算机.)其他与WMI相关的cmdlet可以对这些问题机器起作用,因此我认为它不是auth或DCOM问题.
无论如何,还有其他方法可以在脚本中的语句中设置超时,我可以尝试吗?
我有一个脚本,我停止(杀死)一个过程.紧接着,我想要一些代码检查进程是否确实停止了,如果没有,退出脚本(如果它确实停止了,脚本当然会继续.)这是我试图这样做的方法:
if (Get-Process "notepad" -ErrorAction SilentlyContinue) {
Write-Host "Program still running somehow, terminating script..."
exit
}
else
{ Write-Host "Program stopped." }
Run Code Online (Sandbox Code Playgroud)
我以为我已经弄清楚(Get-Process "progname" -ErrorAction SilentlyContinue)如果有一个或多个进程正在运行(即返回输出),语句将eval为$ true,如果没有返回输出则返回$ false(我指定了-ErrorAction SilentlyContinue以确保没有输出)当没有找到该名称的程序时返回输出.)当我使用正在运行的程序(例如"notepad")运行此代码块时,以及当我尝试使用不存在的程序时(例如"notepadxxx") ".)
但是,当我将它集成到我的大型程序中时,将其放在终止程序的行之后,如下:
Write-Host "Terminating Program..."
Stop-Process -Name "notepad" -Force
if (Get-Process "notepad" -ErrorAction SilentlyContinue) {
Write-Host "Program still running somehow, terminating script..."
exit
}
else
{ Write-Host "Program stopped." }
Run Code Online (Sandbox Code Playgroud)
该Get-Process行逃避$ true,并结束脚本.这只是Stop-Process线路和后续Get-Process线路之间的竞争条件,还是逻辑缺陷?(如果是的话,有什么问题?)
我有以下格式的字符串:
author="PersonsName" date="1183050420" format="1.1" version="1.2"
Run Code Online (Sandbox Code Playgroud)
我想把它变成Python字典,例如:
{'author': 'PersonsName', 'date': '1183050420', 'format': '1.1', 'version': '1.2'}
Run Code Online (Sandbox Code Playgroud)
我已经尝试在字符串上使用re.split来做到这一点:
attribs = (re.split('(=?" ?)', twikiattribs))
Run Code Online (Sandbox Code Playgroud)
以为我会得到像这样的清单:
['author', 'PersonsName', 'date', '1183050420', 'format', '1.1', 'version', '1.2']
Run Code Online (Sandbox Code Playgroud)
那我可以变成一个字典,但是我却得到了:
['author', '="', 'PersonsName', '" ', 'date', '="', '1183050420', '" ', 'format', '="', '1.1', '" ', 'version', '="', '1.2', '"', '']
Run Code Online (Sandbox Code Playgroud)
因此,在我进一步遵循re.split行之前,通常是否有更好的方法来实现我要执行的操作,并且/或者如果解决方案涉及re.split,我如何编写将在任何对象上拆分的正则表达式琴弦=","_(其中“_”是一个空格字符),或者仅仅"只是产生具有在奇数索引键,并在偶数值的列表?