`
hongzhguan
  • 浏览: 273070 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

powerShell写日志功能

阅读更多

Function Write-Log {
    [cmdletbinding()]

    Param(
    [Parameter(Position=0)]
    [ValidateNotNullOrEmpty()]
    [string]$Message,
    [string]$Path= "$env:SHELL_LOCATION" + "\log\shell.log",
    [string]$level = "info"
    )
 
 $LogFile = $Path

 $setLevel = 'debug';
 
 switch -wildcard ($setLevel)
 {
 'info'{
  switch -wildcard ($level) {
   'info' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'warning'{Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'error' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'debug' {}
   default {}
  }
 }

 'debug' {
  switch -wildcard ($level) {
   'info' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'warning'{Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'error' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'debug' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   default {}
  }
 }
 
 'warning' {
  switch -wildcard ($level) {
   'info' {}
   'warning' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'error' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'debug' {}
   default {}
  }
 }

 'error' {
  switch ($level) {
   'info' {}
   'warning' {}
   'error' {Write-Output "[$level] : $(Get-Date) ---- $Message" | Out-File -FilePath $LogFile -Append }
   'debug' {}
   default {}
  }
 }
 }

 

分享到:
评论

相关推荐

    PowerShell教程

    2. **PowerShell在实际应用中的操作**:这一章节可能会深入到PowerShell在系统管理中的具体应用,如自动化任务、日志分析、性能监控等。 3. **PowerShell的函数、安全和错误调试**:这部分可能讲解了如何定义和使用...

    Windows PowerShell应用手册

    ### Windows PowerShell应用手册知识点概述 #### 一、引言 本书由Windows PowerShell团队开发人员Lee Holmes撰写,...通过阅读本书,读者将能够迅速掌握PowerShell的强大功能,并将其应用于日常工作中的各种挑战之中。

    Powershell 查询 Windows 日志的方法

    论坛里面有人询问如何使用powershell脚本查询文件修改的审计日志,豆子服务器没开这个功能,不过尝试写了个类似的脚本可以查询日志,并输出对应的xml内容。 基本方法是get-winevent, 可以指定对应的eventid,获取...

    经典批处理代码,实现Windows环境下的各种功能

    本资料包包含了一些经典批处理代码示例,这些代码能够帮助用户在Windows环境下实现多种功能。 1. **批处理基础** - 批处理文件通常使用`.bat`或`.cmd`扩展名。 - 批处理文件中的每一行代表一个命令,可以是内置的...

    Practical-Automation-with-PowerShell

    - 异步编程:利用PowerShell的异步功能进行并发任务处理。 - 高级脚本技巧:涵盖脚本模块、脚本块、别名函数等高级技术。 6. **PowerShell在企业环境中的应用** - 自动化部署:使用PowerShell进行软件部署和更新...

    PowerShell_Restore-BackupDatabaseUsingBakFiles_sqlserver_windows

    标题“PowerShell_Restore-BackupDatabaseUsingBakFiles_sqlserver_windows”所指向的脚本正是这样的一个实用工具,它利用PowerShell命令来实现SQL Server数据库的备份与恢复功能。 首先,让我们详细了解一下SQL ...

    PowerShell实现的文件同步脚本分享

    3. **日志记录**:添加日志记录功能,以便跟踪同步过程中的详细信息,如哪些文件被复制、哪些文件被跳过等。 4. **用户交互**:提供命令行参数,允许用户自定义源文件夹和目标文件夹等选项。 5. **文件过滤**:添加...

    平台Windows,Mac,Linux 脚本语言多种、不限我流,按需编写 涉及桌面基线排查、软件激活破解、免杀及特权执行、渗透式支援固件识别读写、主机账户密码空值检测、Wi-Fi密码扫描、云主.zip

    免责声明所有内容仅面向信息研究、学习交流等,正常合规化...点击详情Windows桌面技术基线检查首先,确保你的系统已开启 PowerShell打开PowerShell功能Set-ExecutionPolicy RemoteSigned关闭PowerShell功能Set-Executio

    多个OU下批量创建AD账户并加入群组的脚本及模板

    6. **日志记录**:为了跟踪脚本的执行情况,可以考虑添加日志功能,记录每个用户的创建状态以及任何遇到的错误。 这个脚本的使用不仅可以大大提高工作效率,还能减少人为错误。不过,值得注意的是,由于涉及到敏感...

    powershell_bootstrap

    - **scripts**: 子目录,包含各种特定功能的PowerShell脚本。 - **modules**: 自定义模块目录,用于存放自定义Cmdlet和辅助函数。 - **resources**: 存放脚本运行所需的文件,如安装包、证书、配置模板等。 编写...

    EZLog:一个非常简单实用的日志模块,适合急于使用的管理员

    因此,在脚本中的任何位置,您都需要在磁盘上写日志或/和在屏幕上显示信息,所有您需要做的就是随同消息一起调用Write-EZLog 。 也就是说,您还可以使用以下实用程序命令: ConvertFrom-EZLog :将日志文件转换为...

    powershellFunctions

    在“powershellFunctions”这个主题中,我们主要探讨PowerShell中的各种功能和用法。 首先,PowerShell的核心是其命令行环境,称为PowerShell会话或“shell”。在这个环境中,用户可以通过命令行执行操作,类似于...

    批量修改配置文件,批量启动

    为了将这两个功能整合,你可以创建一个包含上述PowerShell批量修改XML文件和批处理启动进程的综合脚本。首先,运行修改XML文件的PowerShell命令,然后执行批量启动进程的批处理脚本。这样,整个流程就可以在一次操作...

    DefiantCode.Components:常见的 .net 组件

    除了基础功能,DefiantCode.Components可能还包括一些特定场景下的解决方案,如日志记录组件,它能帮助开发者记录应用程序运行时的详细信息,便于调试和问题追踪;或者权限管理组件,简化用户认证和授权的流程,确保...

    Word_Unscramble:HackThisSite编程任务#1

    【Word_Unscramble: HackThis...在实践中,你可能还会接触到更多的PowerShell特性,例如管道(`|`)和对象流,以及如何使用PowerShell模块来扩展功能。通过不断实践和挑战,你将逐步成为一个熟练的PowerShell程序员。

    Windows 8运行命令大全.docx

    - **功能介绍**:此命令用于打开事件查看器,用户可以在此查看系统日志和其他类型的日志。 - **应用场景**:当需要监控系统活动或诊断故障时。 #### 28. explorer:打开资源管理器 - **功能介绍**:用于打开Windows...

    About_my_device

    如果源代码可用,用户或开发者可以查看PowerShell脚本是如何实现上述功能的,甚至可以根据自己的需求进行定制。 总的来说,“About_my_device”是一个利用PowerShell技术为用户提供设备信息查询和快捷操作的实用...

    cpp-Windows控制台监控器

    在Windows操作系统中,控制台(Console)是程序员和系统管理员常用的交互界面,用于运行命令行应用程序,如cmd.exe或PowerShell。"cpp-Windows控制台监控器"项目旨在创建一个工具,可以监视并管理Windows控制台窗口...

    优化批处理

    8. **使用批处理框架**:一些高级批处理工具如Apache Ant、Windows PowerShell等提供了更强大的功能和更好的性能,可以考虑替换传统的CMD批处理。 压缩包中的"83条注册表优化.exe"可能是一个程序,用于批量修改...

    windows grep

    1. **使用Windows PowerShell**: PowerShell是Windows的现代命令行环境,虽然它不直接提供`grep`,但可以通过管道和`Select-String` cmdlet实现相似功能。例如,`Get-Content log.txt | Select-String "error"`将...

Global site tag (gtag.js) - Google Analytics