Articles of PowerShell

通过GPO安装Powershell模块

我发现一个模块真的很稳定,并且想要在整个AD域中使用它。 有什么办法来自动化这个过程吗? 在普通的Powershell中,我只需要简单地使用pipe理员权限来调用这个命令: Install-Module -Name $moduleName 如果它是不受信任的存储库,那么我必须改变它: Set-PSRepository -name $repoName -InstallationPolicy trusted 我正在寻找更优雅的方式,比在计算机启动时运行这些命令简单的PS脚本。 理想的解决scheme将如下所示: 有些东西会检查,如果电脑上已经安装了模块。 如果没有,则安装模块,并且计算机现在被识别为安装有模块的机器。 如果确实安装了模块,则不采取任何操作。 甚至更好: 有一些容器,包含没有安装模块的电脑。 模块安装在此容器中的每台计算机上,然后移到其外面。 第二个可以在简单的域容器上工作,在那里我们得到了GPO的子容器,它使用上面的命令运行PS脚本。 我们可以通过使用PS Active Directory cmdlet来移动计算机。 而且我看到下一个问题,会自动从容器移动到另一个容器,在更大的规模和更长的时间内安全吗?

任何人都有一个脚本来删除特定的本地Windowsconfiguration文件?

我正在寻找Powershell(首选)脚本或.CMD或.VBS,以删除工作站(WinXP)或terminal服务器(2000,'03或'08)上的特定用户configuration文件。 我知道所有关于delprof实用程序…只允许您删除基于一段时间的不活动。 我想要一个脚本来: 提示pipe理员input用户名 删除该用户名的个人资料 还可以删除整个configuration文件 – registryconfiguration单元 (不仅仅是文档和设置中的文件夹结构)。 如果您转到“ 我的电脑”>“属性”>“高级”选项卡>“用户configuration文件设置”,并从中删除configuration文件,也是如此。 有任何想法吗? 所有我能想到的是做一个AD查找来获得指定用户的SID,然后使用它来删除正确的registryconfiguration单元太…更简单的事情会很好,虽然… 基本上,我的服务台曾经是我们的Citrix服务器上的本地pipe理员,对于各种问题的常见修复是为了让他们删除用户在citrix服务器上的configuration文件,让用户重新login,无论他们遇到什么问题解决。 outlook未来,在新的思杰环境中,他们将不再是本地pipe理员,但仍然需要删除configuration文件(删除整个configuration文件:文件夹和registry项是关键)。 谢谢。

从脚本中启动ELEVATED脚本

你好, 我正在玩Powershell(相对NewBie),我正在寻找最简单的方法来从另一个脚本中调用具有提升权限的Powershell脚本。 我知道启动过程的runas动词,它允许我用一个不同的帐户启动一个新的脚本。 但是,我的问题是,在Vista(UAC活动)下,每个pipe理员帐户都有两个访问令牌 ,一个是普通权限,另一个是高级权限。 如果我使用runas方法,则第二个脚本将在正确的帐户下启动,但使用非提升的访问令牌。 有一个简单的方法来控制这个? 非常感谢你的帮助! 乌尔里希

PowerShell Get-Process:无法连接到远程计算机

现在已经挣扎了好几天了。 我收到以下错误: PS C:\> get-process -ComputerName Win2012r2 get-process : Couldn't connect to remote machine. At line:1 char:1 + get-process -ComputerName 10.10.1.54 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Get-Process], InvalidOperationException + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.GetProcessCommand 我已经确认远程registry服务正在服务器上运行(我也尝试重新启动它)。 另外,我已经创build了一个自定义的防火墙规则,允许在端口5985 && 5986上的RCP连接按照https://stackoverflow.com/questions/22357063/get-process-to-remote-computer-doesnt-work-but-invoke-命令呢 我还仔细检查了每个Powershell的用户名Get-Process无法连接到远程计算机 注意 invoke-command -ComputerName Win2012r2 -ScriptBlock {Get-Process}可以正常工作,但是我真的需要让get-process -computername进程直接工作,因为在别人使用的另一个脚本中失败

PowerShell计划作业不在启动时运行

我正在尝试创build一个在Windows Server 2012 R2核心启动时运行的作业。 作业运行连接到networking共享的脚本,然后安装位于该共享上的VHD。 该脚本本身工作,当注册与-RunNow参数作业被激发并按预期运行。 使用Start-Job Cmdlet运行作业也可以正常工作。 但是,作业不会在触发器中指定的启动时触发。 我做了什么来创造这份工作: $Trigger = New-JobTrigger -AtStartup $JobOptions = New-ScheduledJobOption -RunElevated -RequireNetwork Register-ScheduledJob -FilePath C:\Scripts\Test.ps1 -Name Test -Trigger $Trigger -ScheduledJobOption $JobOptions -RunNow 这样做后我可以清楚地看到它的工作结果。 但是,当重启服务器时,结果不存在,但作业说重启后不久,上次运行。

pipe理多个PowerShell提示

如果我有多个Powershell提示到不同的机器,它会变得混乱。 虽然,命令提示都显示我在的机器,我试图find一个解决scheme,改变标题栏到我迷上了机器。 或者我愿意接受任何其他build议。

将整个Windows日志导出到XML

我想创build一个打印机统计,我有一个简单但function强大的XMLparsing器。 所以我想把所有的事件从打印机日志导出到XML格式。 打印服务器运行Win2008R2。 当我想将过滤的日志导出到XML(我过滤了事件ID 307)时,我只有近6000个事件发生了300个事件。 你可以帮帮我吗? 我也试过PowerShell导出日志,但我无法得到xml结构。

Powershell屏幕缓冲区

我正在使用Windows Powershell,只是想知道是否有一种方法来滚动屏幕缓冲区(例如在UNIX bash SHIFT + PgUp / SHIFT + PgDn)。 我知道有一个“更多”命令通过屏幕缓冲区分页,但一些键盘快捷键会更舒适。 有没有办法滚动通过输出不使用鼠标?

我在哪里可以下载SharePoint 2010 PowerShellpipe理单元?

我只需要下载链接到SharePoint 2010pipe理单元for PowerShell 2.0。 我所有的searchfind如何使用它的说明,但不下载。

如何为所有PowerShell AD cmdlet设置默认域控制器?

ActiveDirectory模块中的所有PowerShell cmdlet都支持使用-server参数针对特定的域控制器运行; 但有什么办法可以设置一个默认的DC用于所有AD相关的操作,还是我需要在每一个命令中指定它,如果我真的关心我正在使用哪个DC(因为涉及复制延迟)?