我需要在脚本中更新打印机的权限,即执行与我手动执行的操作相同的操作:
怎么做?例如,在 PowerShell 中,我可以这样做
Get-WmiObject -class win32_printer -filter Default=True
Run Code Online (Sandbox Code Playgroud)
获取默认打印机,然后有方法getSecurityDescriptor(),setSecurityDescriptor()但例如这个命令:
(Get-WmiObject -class win32_printer -filter Default=True).getsecuritydescriptor().Descriptor
Run Code Online (Sandbox Code Playgroud)
返回 null 所以我不确定我是否以正确的方式这样做。
有人有设置打印机权限的工作示例吗?我是否走在正确的道路上,或者我应该完全使用 WMI 以外的其他东西?谢谢。
我想检查计算机的 Internet 浏览历史记录,并且我想从命令行或 PowerShell 执行此操作。
是否有任何 Windows 命令或工具可以执行此操作?
我尝试使用 BCDEDIT 和 DISKPART,但这些工具给我的 ID 不是 GUID 注意:我正在 Windows 7 中进行测试
我正在尝试通过 PowerShell 会话以这种方式将 .NET Framework 4.5 安装到远程 Win2008R2 服务器(用户位于服务器管理员组中):
$session = New-PSSession -ComputerName $server -Credential Get-Credential
Invoke-Command -Session $session -ScriptBlock {Start-Process -FilePath "C:\temp\dotnetfx45_full_x86_x64.exe" -ArgumentList "/q /norestart" -Wait -PassThru}
Run Code Online (Sandbox Code Playgroud)
然后我得到这个错误:
Executable: C:\temp\dotnetfx45_full_x86_x64.exe v4.5.50709.17929
--- logging level: standard ---
Successfully bound to the ClusApi.dll
Error 0x80070424: Failed to open the current cluster
Cluster drive map: ''
Considering drive: 'C:\'...
Drive 'C:\' has been selected as the largest fixed drive
Directory 'C:\aa113be049433424d2d3ca\' has been selected for file extraction
Extracting files to: C:\aa113be049433424d2d3ca\
Error …Run Code Online (Sandbox Code Playgroud) 我正在使用此答案中给出的技术的稍微修改版本来在 Windows 文件资源管理器中创建一个上下文菜单项,该项目允许我针对特定文件夹运行 PowerShell 脚本。
该命令如下所示:
cmd /K PowerShell "C:\PowerShellScript\folder_script.ps1 \"%1\" | clip"
Run Code Online (Sandbox Code Playgroud)
除非文件夹名称中包含与号 (&),否则此操作正常。然后我收到以下错误(目标文件夹名为Testing & Testing):
The string starting:
At line:1 char:37
+ C:\PowerShellScript\folder_script.ps1 <<<< "E:\tmp\Testing
is missing the terminator: ".
At line:1 char:53
+ E:\Dropbox\PowerShell\namefixer.ps1 "E:\tmp\Testing <<<<
+ CategoryInfo : ParserError: (E:\tmp\Testing :String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
Run Code Online (Sandbox Code Playgroud)
显然有些东西将&符号解释为特殊字符,但我不知道如何解决这个问题。从文件夹名称中删除&符号对我来说不是一个可行的解决方案。
不涉及批处理脚本的解决方案将是首选。
我使用 Windows 7 Enterprise(64 位)和 PowerShell 2。
我正在尝试编写一个 Powershell 脚本,该脚本将:
- 从根目录递归搜索 -
排除具有现有“yyyyMMdd”文件名前缀的
文件 - 根据特定的 LastWriteTime,使用“yyyyMMdd”文件名前缀重命名上面未排除的文件
注意:理想情况下,该脚本应包含所有文件类型扩展名
我自己也尝试过,但这似乎超出了我的能力范围,因为我的尝试进展并不顺利。
提前致谢。
http://ss64.com/ps/syntax-stampme.html
#StampMe.ps1
param( [string] $fileName)
# Check the file exists
if (-not(Test-Path $fileName)) {break}
# Display the original name
"Original filename: $fileName"
$fileObj = get-item $fileName
# Get the date
$DateStamp = get-date -uformat "%Y-%m-%d@%H-%M-%S"
$extOnly = $fileObj.extension
if ($extOnly.length -eq 0) {
$nameOnly = $fileObj.Name
rename-item "$fileObj" "$nameOnly-$DateStamp"
}
else {
$nameOnly = $fileObj.Name.Replace( $fileObj.Extension,'')
rename-item "$fileName" "$nameOnly-$DateStamp$extOnly"
}
# Display the new name
"New …Run Code Online (Sandbox Code Playgroud) 当我右键单击 Windows 任务栏工具栏时,我可以切换一些选项,例如“显示文本”、“显示标题”和“锁定任务栏”。我还可以重新排序工具栏上的图标并设置其位置。
我如何通过脚本执行以下操作?
我想在一些长的 cmd.exe 管道中使用 powershell 的“替换”;如何从 cmd 重定向到 powershell 输入?下面的行不起作用,给出空输出:
c:\>(echo foo && echo bar) | powershell -Command "%{$_ -replace \"f\",\"x\"}"
Run Code Online (Sandbox Code Playgroud) 我的笔记本电脑有一个问题,从休眠状态唤醒后键盘的重复率变得非常慢。我可以通过在控制面板中向下调整速率,应用新速率,然后再次向上调整并应用来解决此问题。但我宁愿不要每次都这样做。
我发现重复率存储在注册表“HKCU:\Control Panel\Keyboard\KeyboardSpeed”中,并且可以通过 powershell 设置它。但是,新的速率似乎并未应用(即,无论我将值设置为多少,重复速率都不会受到影响)。我必须做其他事情才能保持利率不变,但我不知道那是什么。作为记录,以下是我设置注册表值的方法:
set-itemproperty "HKCU:\Control Panel\Keyboard\" -name KeyboardSpeed -Value 3
Run Code Online (Sandbox Code Playgroud) 使用 PowerShell ISE:
如果使用分割视图(同时显示控制台和脚本窗格),从脚本窗格(或另一个控制台选项卡)重新聚焦控制台将始终滚动到底部。
要观察此效果,请在控制台中向上滚动,以便隐藏底部的提示(显然,如果要向上滚动,则需要一些输出)。此时,您可以单击控制台中的任意位置来选择并复制文本。您甚至可以将焦点从 ISE 上移开,然后单击您最喜欢的 Web 浏览器或文本编辑器,然后在 ISE 控制台中单击返回,滚动不会发生变化。
问题是当您单击脚本窗格时。一旦您从 ISE 内的控制台失去焦点,您的命运就已注定。当您单击返回控制台时,它将滚动到最底部!单击另一个控制台选项卡也会将其滚动到底部。
我制作了下图,以防我的描述令人困惑。彩色圆圈代表点击次数。绿色点击不会导致控制台滚动。橙色的点击决定了红色点击的命运,红色的点击将滚动控制台。

此问题使得将多个项目从控制台顶部复制到脚本窗格变得不切实际,因为每次都必须向上滚动。您可以在粘贴之前将所有内容复制到单独的文本编辑器中,但这是愚蠢的,而且几乎同样不切实际。
我尝试使用 CTRL+I 和 CTRL+D 在脚本窗格和控制台之间切换,但出现相同的滚动效果。
我在 Windows 7 上使用 PowerShell 3。
powershell ×10
windows ×5
command-line ×3
bcdedit ×1
hard-drive ×1
partitioning ×1
printer ×1
remote ×1
scrolling ×1
taskbar ×1
toolbar ×1
windows-7 ×1
wmi ×1