我目前正在阅读 Windows PowerShell 3.0 Step by Step 书,以获取有关 PowerShell 的更多见解。
在第 201 页上,作者演示了过滤器比具有相同功能的函数更快。
这个脚本在他的电脑上需要 2.6 秒:
MeasureAddOneFilter.ps1
Filter AddOne
{
"add one filter"
$_ + 1
}
Measure-Command { 1..50000 | addOne }
Run Code Online (Sandbox Code Playgroud)
而这个 4.6 秒
MeasureAddOneFunction.ps1
Function AddOne
{
"Add One Function"
While ($input.moveNext())
{
$input.current + 1
}
}
Measure-Command { 1..50000 | addOne }
Run Code Online (Sandbox Code Playgroud)
如果我运行此代码,则会得到与他的结果完全相反的结果:
.\MeasureAddOneFilter.ps1
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 226
Ticks : 2266171
TotalDays : 2,62288310185185E-06 …
Run Code Online (Sandbox Code Playgroud) 有没有办法即使在父进程终止后也能找出哪个进程启动了另一个进程?
我试图通过 PowerShell 查找一些内容Win32_Process class
,但没有找到任何相关内容。
这是我的部署自动化脚本的一部分:
$SVNEXE = "$env:ProgramFiles\TortoiseSVN\bin\svn.exe"
foreach ($element in $commandstoken) {
#$exportfile = [System.Web.HttpUtility]::UrlPathDecode($StreamServe5RepoURI + $commandstoken[$a])
$exportfile = ($StreamServe5RepoURI + $commandstoken[$a])
$SVNRevision = $commandstoken[$a+1]
[string]$SVNCommand = "export -r $SVNRevision --force"
Write-Host -ForegroundColor Red $SVNCommand
Write-Host -ForegroundColor Red $SVNCommand $exportfile
&"$SVNEXE" $SVNCommand $exportfile "C:\Temp\__foo\export"
$a = $a+2
}
Run Code Online (Sandbox Code Playgroud)
我想将$SVNCommand
变量传递给 svn.exe,但 svn.exe 抛出一个错误:svn.exe : Unknown subcommand: 'export -r 2384 --force'
据我所知,变量扩展正在工作,所以我不明白为什么会svn.exe
抛出这个错误。
我面临以下问题:我们有一个 Windows 域,其中有一个应用程序在该域用户的用户上下文中运行(我们称此域为“A”)。此 Windows 服务必须打印到一个或多个域(我们称此域为“B”、“C”等)的打印服务器,这些域之间没有信任关系。Windows 服务无法切换到另一个用户上下文。
有没有类似代理服务器的东西可以处理对其他域的身份验证?还是我错过了另一个解决方案?也许我只见树木不见森林。
一些更多的背景信息,使事情更清楚:
windows active-directory windows-service printing print-server
我们的其中一台服务器上有一些共享的目录,但是,它们需要锁定到无法通过以本地用户或管理员身份登录或使用 \\server\C$.. 。 线。
只有少数用户需要访问这些文件夹。
我读过一些关于 .htaccess 文件的内容,但是,无法让它工作。
非常感谢帮助!
编辑:将存储文件夹的服务器是 Windows Server 2008