我正在尝试使用PowerShell来更新Windows系统path: $oldpath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path $newpath = "$oldpath;C:\nuget" Write-Output "PATH:$newpath" Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newPath -Force Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH 它似乎工作,Get-ItemProperty确实显示“C:\ nuget”被添加到path中。 问题是,然后我启动一个新的PowerShell控制台或命令行控制台,并input“nuget”,我仍然得到“术语'Nuget'不被识别为cmdlet,函数,脚本文件或可操作程序的名称” 在新的PowerShell控制台中,如果我重新运行Get-ItemProperty,它显示新的path在那里,它只是不会立即在当前用户会话中生效。 如果我在cmd控制台中运行“set”,PATHvariables中没有新的Path。 顺便说一下,Set-ItemProperty运行后,我检查了控制面板 – >系统 – >高级系统设置 – >环境variables,我添加的新path在那里。 我发现如果我手动修改path通过Windows系统设置,它会立即生效(新的CMD / PowerShell的将有); 但如果path被powershell Set-ItemProperty命令修改,那么我必须注销,然后login,然后新的path才会生效。 感觉像系统pathcaching在当前用户login会话。
你好同仁IT大师的 我希望在这里获得一些有关通过PowerShell来pipe理Active Directory委托权限的知识。 我最近遇到了一个问题,我想让多个用户能够将用户添加或删除到全局安全组中。 我熟悉通过AD添加多个用户的繁琐方法: 1. security tab, add, enter users name, uncheck all permissions for said user 2. click advanced tab, double click users name, ensure type is set to “Allow” and applies to is set to “this object only” 3. scroll through the entire list of permissions, and ensure only “write members” has […]
我试图使用PowerShell 2“Get-WmiObject”命令来使用此命令查找报告服务实例 get-wmiobject -class "MSReportServer_Instance" -namespace "root\Microsoft\SqlServer\ReportServer" 错误,我回来 Get-WmiObject : Invalid class At line:1 char:14 + get-wmiobject <<<< -class "MSReportServer_Instance" -namespace "root\Microsoft\SqlServer" + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand 笔记 这是Powershell 2 OS = Windows Server 2008 R2 RC(x64) SQL = SQL 2008 SP1(x64) 报告服务已安装并运行 – 有多个报告正在运行) 一切都在同一个盒子上运行(脚本,SQL,SSRS) 链接到SSRS的WMI信息: http : […]
我试图自动运行Cisco VPN客户端,然后RDP会话。 什么是这样做的好方法? batch file? 电源shell? 其他 我已经玩了batch file和这种作品。 cmd.exe /c "C:\Program Files\Cisco Systems\VPN Client\vpngui.exe" cmd.exe /c "N:\Data\Gerhard\BeneSys\VPN, RDP\bene00226t_gweiss.rdp" 但是它不会过去运行vpn客户端。 我正在使用Windows 7 RC Cisco VPN客户端5.0.01.0600 Windows远程桌面连接
我正在做一个PowerShell(在Windows 7上运行),它执行映像后的一些configuration任务。 它使用Windows窗体来获得一些用户input,然后根据自己的select运行各种任务。 这在计算机在域之前运行,所以login脚本不好。 我已经尝试添加powershell c:\scripts\myscript.ps1 hklm\software\microsoft\windows\currentversion\run但它不运行。 我还将它作为一个计划启动(和login)任务,并以“最高级别的权限”添加,并作为机器pipe理员运行。 当它作为启动任务运行时,它运行脚本的第一位(它创build一个日志文件,所以我可以看到这一点),但没有窗口窗体出现。 相反,它的行为就好像用户点击了表单上的取消。 计划的任务报告错误: 0x41301 。 有一点谷歌search显示这意味着脚本仍在运行? 有没有人有如何最好地实现这一目标的任何build议? 谢谢, 本
我在工作组上有两台服务器,我需要将SQL Server 2008备份从一个本地驱动器转移到另一个networking驱动器。 理想情况下,我想让SQL在执行备份后调用Powershell脚本。 任何人都有一个脚本,这样做? 有没有更好的办法? 我试图让SQL备份直接到networking驱动器,但似乎我不能做到这一点,没有他们在同一个域。
我正在尝试在Windows 7上创build托pipe服务帐户。我按照托pipe服务帐户指南中的步骤启用了Active Directory Powershellpipe理单元。 我注意到的第一件事是当我执行import-module ActiveDirectory时,我得到一个警告 初始化默认驱动器时出错:无法find运行Acitve Directory Web服务的默认服务器。 然后,当我发出命令new-adserviceaccount TrialManagementApp时,出现类似的错误(“无法find运行Active Directory Web服务的默认服务器”)。 我想我可能会得到有关无法find服务器的错误,因为我们的域名服务器是Windows 2003,而不是2008 R2,但应该有所作为? 我不需要帐户在域上,我只是想在我的电脑上使用它。 有人知道这里发生了什么吗? 作为一个补充问题:鉴于我与域服务器有关的问题,在没有域服务器的工作组环境中是否支持托pipe服务帐户?
我正尝试使用Exchange 2010 SP1中的New-MailboxImportRequest cmdlet直接从远程计算机上的原始位置导入.PST文件。 如果文件位于文件共享位置,则不会导入文件,但是我不明白为什么我无法从远程硬盘驱动器上的其他位置导入文件(如果使用的是DomainAdmin级别的凭据)。 这是我的powershell: [PS] C:\ Windows \ system32> New-MailboxImportRequest -Mailbox [email protected] -FilePath'\ Win7-Test-1 \ c $ \ pst_files \ test1.pst' 无法打开PST文件'\ Win7-Test-1 \ c $ \ pst_files \ test1.pst'。 错误详细信息:访问path“\ Win7-Test-1 \ c $ \ pst_files \ test1.pst”被拒绝。 + CategoryInfo:NotSpecified:(0:Int32)[New-MailboxImportRequest],RemotePermanentException + FullyQualifiedErrorId:C1C65BA8,Microsoft.Exchange.Management.RecipientTasks.NewMailboxImportRequest [PS] C:\ Windows \ system32> 我已经证实,我可以使用相同的PowerShell提示符做一个简单的远程目录目录,所以不知道是什么问题。 [PS] C:\ Windows \ […]
我有大约60-70台机器可能或不可能有SSRS。 密码刚刚过期了它运行的服务帐户。 有没有一种方法脚本SSRS的更新密码?
这里的情况是:我试图使用PowerShell自动回收AppPool(Windows Server 2008与IIS7)。 我试图用这里find的PowerShell脚本来做到这一点 : $appPoolName = $args[0] $appPool = get-wmiobject -namespace "root\MicrosoftIISv2" -class "IIsApplicationPool" | Where-Object {$_.Name -eq "W3SVC/APPPOOLS/$appPoolName"} $appPool.Recycle() 但是,这会导致“无效的命名空间”错误: 我search了一下,发现我可能已经错过了IIS设置的IISpipe理脚本和工具angular色服务。 我怎样才能解决这个问题,或者,我可以回收一个没有WMI的Powershell的AppPool? 编辑 澄清这是没有Hyper-V(SP2)x64的Windows Sever 2008 Enterprise。 在x64版本的Powershell中运行上述命令会导致相同的错误。 从32位运行Add-PSSnaping WebAdministration : Add-PSSnapin:此机器上未安装Windows PowerShellpipe理单元“WebAdministration”。 而在64位的环境下: Add-PSSnapin:没有为Windows PowerShell版本2注册pipe理单元。 (64bit) Get-PSSnapin -Registered什么都不返回 (32位) Get-PSSnapin -Registered返回Windows.ServerBackup,PSVersion 1.0